p PatchFirst

PatchFirst · Latest vulnerabilities

php 8.5.1: known vulnerabilities

Known vulnerabilities affecting php 8.5.1: 27. Compare the fixes below with your installed release.

RSS ↗
Filter vulnerabilities
Clear filters

Vulnerabilities: 27

  1. CVE-2026-109619

    Critical · CVSS 9.2EPSS 5.99%Public exploitFix available

    RCE via stale global state

    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).

    • Update to 8.5.12
    Published Updated
  2. CVE-2026-109618

    Critical · CVSS 9.2EPSS 11.62%Public exploitFix available

    RCE via OOM corruption

    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).

    • Update to 8.5.12
    Published Updated
  3. CVE-2026-92842

    Medium · CVSS 5.9EPSS 0.36%Fix available

    OOB read / info leak in convert.* stream filters when line-break-chars contains NUL

    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.

    • Update to 8.5.11
    Published Updated
  4. CVE-2026-91768

    Medium · CVSS 6.5EPSS 0.56%Fix available

    IPv6 ACL bypass in FastCGI listen.allowed_clients due to partial address comparison (memcmp 12 bytes)

    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.

    • Update to 8.5.11
    Published Updated
  5. CVE-2026-91769

    Medium · CVSS 4.3EPSS 0.14%Fix available

    TLS Hostname Verification Falls Back to CN After SAN Mismatch

    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.

    • Update to 8.5.11
    Published Updated
  6. CVE-2026-91767

    Medium · CVSS 6.5EPSS 0.15%Fix available

    Heap-buffer-overflow in php_openssl_matches_wildcard_name on crafted server cert wildcard CN

    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.

    • Update to 8.5.11
    Published Updated
  7. CVE-2025-1218

    Low · CVSS 3.4EPSS 0.18%Fix available

    Various packet overreads in mysqlnd_writeprotocol.c

    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.

    • Update to 8.5.11
    Published Updated
  8. CVE-2026-91766

    Medium · CVSS 5.9EPSS 0.34%Fix available

    Cross-origin credential leak in HTTP stream wrapper redirects

    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 ).

    • Update to 8.5.11
    Published Updated
  9. CVE-2026-91765

    High · CVSS 7.5EPSS 0.52%Public exploitFix available

    SOAP: Unbounded Recursion in Server-Side cleanup_xml_node

    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.

    • Update to 8.5.11
    Published Updated
  10. CVE-2025-14181

    Medium · CVSS 6.5EPSS 0.34%Fix available

    Integer overflow to buffer overflow in soap HTTP parsing

    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.

    • Update to 8.5.11
    Published Updated
  11. CVE-2026-17545

    Medium · CVSS 6.9EPSS 0.32%Fix available

    PHP on Windows: Reserved Device Names Are Not Rejected Before File/Stream I/O which can cause DoS

    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.

    • Update to 8.5.11
    Published Updated
  12. CVE-2026-6103

    Medium · CVSS 4.3EPSS 0.17%Fix available

    Phar TAR phar_tar_number() Integer Overflow - Archive Entry Injection

    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.

    • Update to 8.5.11
    Published Updated
  13. CVE-2026-93682

    Medium · CVSS 5.8EPSS 0.35%Fix available

    Out-of-bounds read in the HTTP stream wrapper when following a redirect with an empty Location header

    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.

    • Update to 8.5.11
    Published Updated
  14. CVE-2026-7260

    Medium · CVSS 5.4EPSS 0.11%Fix available

    Stack overflow in phar with circular symlinks

    Circular symbolic links in phar archives could lead to unbounded recursion, exhausting the C stack and crashing the PHP process, in PHP versions from 8.2.* before 8.2.33, from 8.3.* before 8.3.33, from 8.4.* before 8.4.24, and from 8.5.* before 8.5.9.

    • Update to 8.5.9
    Published Updated
  15. CVE-2026-17544

    High · CVSS 8.1EPSS 0.42%Fix available

    Out-of-bounds write in bccomp() via crafted operand and scale

    Attacker-provided inputs to bccomp() could lead to an out-of-bounds write with stack and heap corruption in PHP versions from 8.4.* before 8.4.24 and from 8.5.* before 8.5.9.

    • Update to 8.5.9
    Published Updated
  16. CVE-2026-17543

    High · CVSS 8.1EPSS 0.33%Fix available

    SQL injection in ext-pgsql via E'...' backslash breakout

    Improper escaping of backslashes in attacker-provided parameters would allow for trivial SQL injection in PHP versions from 8.2.* before 8.2.33, from 8.3.* before 8.3.33, from 8.4.* before 8.4.24, and from 8.5.* before 8.5.9.

    • Update to 8.5.9
    Published Updated
  17. CVE-2026-14355

    Medium · CVSS 5.6EPSS 0.28%Fix available

    ext/openssl: Memory corruption in openssl_encrypt with AES-WRAP-PAD

    In PHP versions 8.2.* before 8.2.32, 8.3.* before 8.3.32, 8.4.* before 8.4.23, 8.5.* before 8.5.8, the AES-WRAP-PAD algorithm implementation in OpenSSL extension contains a buffer allocation flaw. The output buffer for the AES key-wrap-with-padding operation is sized from the plaintext length without accounting for RFC 5649 expansion. This may cause OpenSSL to write beyond allocated memory, corrupting heap metadata and triggering application abort.

    • Update to 8.5.8
    Published Updated
  18. CVE-2026-7263

    Medium · CVSS 6.3EPSS 0.35%Fix available

    DoS attack via DOMNode::C14N()

    In PHP versions 8.4.* before 8.4.21 and 8.5.* before 8.5.6, DOMNode::C14N() method may process the XML data incorrectly, causing a circular linked list in the data structure representing the XML document. This may cause subsequent processing of the XML document to enter infinite loop, causing denial of service in the processing application.

    • Update to 8.5.6
    Published Updated
  19. CVE-2026-6104

    Medium · CVSS 6.3EPSS 0.47%Fix available

    Global buffer over-read in mb_convert_encoding() with attacker-supplied encoding

    In PHP versions 8.4.* before 8.4.21 and 8.5.* before 8.5.6, when an encoding name containing an embedded NUL byte is passed to mb_convert_encoding() or related mbstring functions, the code incorrectly assumes that when strncasecmp() returns 0 it means the strings have the same length. This can lead to out-of-bounds read of global memory, potentially causing a crash or information disclosure or crash. Affected functions include mb_convert_encoding(), mb_detect_encoding(), mb_convert_variables(), and mb_detect_order(), as well as the mbstring.detect_order and mbstring.http_output INI settings.

    • Update to 8.5.6
    Published Updated
  20. CVE-2026-7258

    Medium · CVSS 6.3EPSS 0.36%Fix available

    Out-of-bounds read in urldecode() on NetBSD

    In PHP versions 8.2.* before 8.2.31, 8.3.* before 8.3.31, 8.4.* before 8.4.21, and 8.5.* before 8.5.6, some functions, including urldecode(), pass signed char to ctype functions (like isxdigit()). On the systems with default signed char and optimized table-lookup ctype functions - such as NetBSD - this can lead to accessing array with negative offset, which can trigger a denial of service.

    • Update to 8.5.6
    Published Updated

Check your server

Check your installed stack and versions against the current vulnerability feeds.

Check your server →