This Week
Get Alerts ›
cvehawk_ Get Alerts
Software · PHP

PHP Vulnerabilities

The latest security flaws in PHP, which ones attackers are using, and whether your PHP version is affected or out of support.

New flaws, 30 days
2
Critical, 8 weeks
1
On CISA's exploited list
5
Latest exploited
26 Oct 2026

Run php -v on the server, or in WordPress see Tools › Site Health › Info › Server.

PHP Security in Short

PHP flaws sit under every site on the server: WordPress, Drupal, Laravel, Magento and everything else. Each PHP release line gets two years of bug fixes and then two years of security-only fixes, after which it gets nothing. Many servers still run lines that stopped getting fixes years ago.

How to Keep PHP Patched

  • Know which release line you're on (php -v) and when it stops getting security fixes. The version check above tells you.
  • On Ubuntu and Debian, PHP comes from the distribution or from Ondřej Surý's packages. Either way, apt upgrade brings in fixes. Restart PHP-FPM afterwards so the running copy is the new one.
  • On shared hosting, choose a supported PHP version in your control panel.
  • Plan upgrades to a new release line well before the old one's end-of-life date. Apps usually need testing first.

The Past Eight Weeks

Any Score 7+ 8+ 9+

13 flaws, newest first.

21 Oct 2026 Memory corruption PHP uses longjmp() for out-of-memory (OOM) errors to exit the current context and abort handling of the reque… CVE-2026-109618 9.8 Exploited

PHP uses longjmp() for out-of-memory (OOM) errors to exit the current context and abort handling of the request. Some contexts may not properly account for this scenario and leave request memory in an uninitialized state before performing an allocation. The subsequent request cleanup procedure may read or branch on this memory. Multiple OOM strategies can consistently trigger this condition and lead to remote code execution (RCE).

Patch now · NVD Record

21 Oct 2026 Memory corruption PHP has various global state that temporarily points into request memory. CVE-2026-109619 8.1 Exploited

PHP has various global state that temporarily points into request memory. In some scenarios, global state may not be correctly reset, or may be repopulated after being reset. The global state may then refer to request memory even after it has been freed. Subsequent requests may read or branch on this stale state before it is fully initialized. Multiple strategies can trigger this condition and produce remote code execution (RCE).

Patch now · NVD Record

25 Sep 2026 Security flaw On Windows, PHP's filesystem and stream APIs do not reject reserved device names such as CON, PRN, AUX, NUL, … CVE-2026-17545 7.5

On Windows, PHP's filesystem and stream APIs do not reject reserved device names such as CON, PRN, AUX, NUL, COM1 to COM9, LPT1 to LPT9, CONIN$ and CONOUT$ when they appear as a component of a path. An attacker-controlled filename therefore reaches CreateFileW() and opens a device instead of the regular file the application expected, which can block or hang the request and exhaust worker processes.

Patch this week · NVD Record

25 Sep 2026 Denial of service cleanup_xml_node() in the SOAP XML parser recurses once per XML nesting level with no depth limit. CVE-2026-91765 7.5

cleanup_xml_node() in the SOAP XML parser recurses once per XML nesting level with no depth limit. An unauthenticated attacker can post a SOAP request containing tens of thousands of nested elements to any SoapServer endpoint, exhaust the stack and crash the process. The same unbounded recursion exists in the SOAP value decoder and in the WSDL node search helper.

Patch this week · NVD Record

25 Sep 2026 Memory corruption The SOAP HTTP client guards its response buffer growth with a check that relies on signed integer overflow, w… CVE-2025-14181 6.5

The SOAP HTTP client guards its response buffer growth with a check that relies on signed integer overflow, which is undefined behaviour and is not guaranteed to trigger. When the check is optimised away, a malicious SOAP server can make the client allocate a buffer far smaller than the data it then writes into it, producing a heap buffer overflow.

Keep an eye · NVD Record

25 Sep 2026 Memory corruption php_openssl_matches_wildcard_name() in ext/openssl/xp_ssl.c underflows the length argument passed to memchr()… CVE-2026-91767 6.5

php_openssl_matches_wildcard_name() in ext/openssl/xp_ssl.c underflows the length argument passed to memchr() when a TLS server certificate presents a wildcard name whose literal characters are together longer than the hostname being verified. A malicious server presenting such a certificate makes the PHP client read up to SIZE_MAX bytes past the end of a heap allocation. The path is reachable from any default client stream, because verify_peer_name is enabled by default.

Keep an eye · NVD Record

25 Sep 2026 Security flaw The IPv6 branch of the FastCGI client access check compares only the first 12 bytes of a 16-byte IPv6 address… CVE-2026-91768 6.5

The IPv6 branch of the FastCGI client access check compares only the first 12 bytes of a 16-byte IPv6 address, so listen.allowed_clients matches on a /96 prefix instead of the exact address. An attacker who can source an address sharing the first 96 bits with an allowed one passes the check and reaches the FastCGI endpoint.

Keep an eye · NVD Record

25 Sep 2026 Memory corruption The mysqlnd wire protocol parser reads fields out of server packets before checking that the packet still hol… CVE-2025-1218 5.9

The mysqlnd wire protocol parser reads fields out of server packets before checking that the packet still holds enough bytes for them. A malicious or compromised MySQL server can send a truncated packet and make the client read past the end of the packet buffer, which is undefined behaviour and can crash the process.

Keep an eye · NVD Record

25 Sep 2026 Information disclosure When the http:// stream wrapper follows a redirect it forwards the user-supplied Authorization, Cookie and Pr… CVE-2026-91766 5.9

When the http:// stream wrapper follows a redirect it forwards the user-supplied Authorization, Cookie and Proxy-Authorization headers unchanged, even when the redirect target is a different host, a different port, or a downgrade from HTTPS to HTTP. A server that can steer a redirect therefore receives credentials that were only meant for the original origin. This is the same class of issue that libcurl fixed in 7.58.0 ( CVE-2018-1000007 https://github.com/advisories/GHSA-g7x2-hrfp-pv5f ).

Keep an eye · NVD Record

25 Sep 2026 Memory corruption The convert.base64-encode, convert.quoted-printable-encode and convert.quoted-printable-decode stream filters… CVE-2026-92842 5.9

The convert.base64-encode, convert.quoted-printable-encode and convert.quoted-printable-decode stream filters accept a line-break-chars option whose length is tracked separately from the string itself. The filter constructors duplicate the value with pestrdup(), which stops at the first NUL byte, while keeping the original length. When the filter later emits a line break it copies the recorded length out of the truncated allocation, reading past its end and placing adjacent heap bytes into the filter output.

Keep an eye · NVD Record

25 Sep 2026 Memory corruption When the HTTP stream wrapper follows a redirect and the response carries a Location header with an empty valu… CVE-2026-93682 5.8

When the HTTP stream wrapper follows a redirect and the response carries a Location header with an empty value, the redirect code reads one byte past the end of the heap buffer holding the location. The value of that out-of-bounds byte decides which redirect target is built, so a malicious server controls whether the client is sent to the host root or to the current directory.

Keep an eye · NVD Record

25 Sep 2026 Weak cryptography PHP's OpenSSL stream peer verification checks the certificate's subjectAltName entries first and, whenever no… CVE-2026-91769 4.3

PHP's OpenSSL stream peer verification checks the certificate's subjectAltName entries first and, whenever no entry matches, falls back to the Common Name. RFC 6125 requires the CN to be ignored once the certificate presents any service identity, so a certificate carrying a non-matching DNS SAN was still accepted when its CN matched the requested peer_name. A certificate trusted by the client for one name can therefore be used to impersonate another.

Keep an eye · NVD Record

25 Sep 2026 Memory corruption phar_tar_number() parses the octal size field of a TAR header into a uint32_t with no overflow check. CVE-2026-6103 3.3

phar_tar_number() parses the octal size field of a TAR header into a uint32_t with no overflow check. The field is 11 octal digits wide and holds values up to 0x1FFFFFFFF, so a size above 0xFFFFFFFF silently wraps. The parser then skips the wrong number of data blocks and interprets attacker-controlled file content as the next TAR header, which lets a crafted archive inject entries that PharData reports and extracts as if they were genuine.

Keep an eye · NVD Record

Being Exploited

PHP flaws CISA has added to its list of flaws attackers are using in the past six months, newest first. See all 5 on the KEV page.

Rather not patch it yourself?

Bobble Solutions patches, backs up and watches Linux servers and WordPress sites.

Talk to Bobble Solutions