Back to search

PHP Group

PHP

See the latest tracked release, confirm when it was published, and subscribe for update emails.

Current version
Last checked: 2026-07-21

8.4.23

Release date
July 03, 2026
Security status
Current version appears affected by 7 high-severity CVEs.

Source

GitHub API

Public release notes are linked for the latest stored release.

Release history

See the latest published releases stored for this product.

Version Published Notes
8.4.23 2026-07-03 Release Notes
8.4.22 2026-06-04 Release Notes
8.4.21 2026-05-07 Release Notes
8.4.20 2026-04-09 Release Notes
8.4.19 2026-03-12 Release Notes

Vulnerability tracking

versionPing monitors CVEs for this product. Matching CVEs are listed below. We only display CVEs with a CVSS score of 7.0 or higher that were published within the last 90 days.

Affected status is inferred from published affected version ranges where available. Always verify against the vendor advisory before making production decisions.

CVE Severity Published Status Summary
CVE-2026-57996 HIGH (8.8) 2026-07-15 Current versionnot affected

phpMyFAQ before 4.1.5 contains a privilege escalation vulnerability in the user/add API endpoint that allows non-SuperAdmin administrators to create SuperAdmin accounts. A delegated administrator with USER_ADD/EDIT/DELETE permissions can call POST /admin/api/user/add with isSuperAdmin: true and attacker-chosen credentials to create a SuperAdmin account, then authenticate as that account to achieve full instance takeover.

Affected versions
  • From (including) 0 - Up to (excluding) 4.1.5
CVE-2026-57995 HIGH (8.8) 2026-06-30 Current versionnot affected

phpMyFAQ before 4.1.5 contains a privilege escalation vulnerability in GroupController::updatePermissions that allows GROUP_EDIT administrators to grant arbitrary rights to groups without verifying they hold those rights themselves. A delegated administrator can exploit this by assigning high-value permissions to a group they belong to, inheriting those rights and escalating privileges up to full administrative control.

Affected versions
  • From (including) 0 - Up to (excluding) 4.1.5
CVE-2026-45034 CRITICAL (9.2) 2026-06-22 Current versionnot affected

PhpSpreadsheet is a pure PHP library for reading and writing spreadsheet files. Prior to 1.30.5, CVE-2026-34084 was patched by the helper File::prohibitWrappers. The helper calls parse_url($filename, PHP_URL_SCHEME) and then checks is_string($scheme) && strlen($scheme) > 1 to reject stream wrappers such as phar://, php://, data:// or expect://. The check is not equivalent to "does the path contain a wrapper". When the input has the form phar:///path/file.phar/inner with three or more slashes after the scheme, parse_url returns boolean false instead of returning the scheme string. The is_string($scheme) branch is therefore skipped, the helper returns without throwing, and the caller proceeds. PHP's stream layer, however, still treats phar:///... as a valid phar wrapper and opens the underlying phar file. The result is that IOFactory::load($attackerPath) walks past the patch and still touches the phar wrapper. On PHP 7.x, simply reaching the phar wrapper via is_file is enough for PHP to automatically deserialize the phar metadata, which in turn invokes the magic methods __wakeup and __destruct of an attacker controlled object and gives full RCE. On PHP 8.x, automatic metadata deserialization for plain file ops was removed, so the chain at the PhpSpreadsheet layer reduces to a phar wrapper file read primitive, and RCE only resurfaces if the downstream consumer ever calls Phar::getMetadata. This vulnerability is fixed in 1.30.5.

Affected versions
  • < 1.30.5
CVE-2026-56396 HIGH (8.8) 2026-06-21 Current versionnot affected

phpMyFAQ before 4.1.4 contains missing authorization vulnerabilities in editUser() and updateUserRights() endpoints that allow authenticated administrators to escalate privileges. Non-SuperAdmin users with edit_user permission can set is_superadmin flag or grant arbitrary rights to escalate to SuperAdmin access.

Affected versions
  • From (including) 0 - Up to (excluding) 4.1.4
CVE-2026-48979 HIGH (7.5) 2026-06-17 Current versionnot affected

PHP Standard Library (PSL) is set of APIs covering async, collections, networking, I/O, cryptography, terminal UI, etc. In versions 6.1.0, 6.1.1 and 6.2.0, the Psl\H2\ServerConnection does not validate that the total bytes received in DATA frames match the content-length header declared in the HEADERS frame, allowing request smuggling. This is in violation of RFC 9113 §8.1.1. A malicious client is able to send more DATA bytes than declared, smuggling additional content past application-level size limits and send fewer DATA bytes than declared and close the stream early, causing applications that trust the declared length to behave incorrectly. The vulnerability is only reachable for consumers using Psl\H2\ServerConnection directly to accept untrusted client traffic. Consumers of documented high-level PSL APIs are not affected. This issue has been fixed in versions 6.1.2 and 6.2.1.

Affected versions
  • >= 6.1.0, < 6.1.2
  • >= 6.2.0, < 6.2.1
CVE-2026-45062 HIGH (8.1) 2026-06-10 Current versionnot affected

FrankenPHP is a modern application server for PHP. From version 1.11.2 to before version 1.12.3, the splitPos() function in cgi.go misuses golang.org/x/text/search with search.IgnoreCase when the request path contains a non-ASCII byte. Two distinct flaws in that fallback let an attacker mislead FrankenPHP into treating a non-.php file as a .php script. In any deployment where the attacker can place content into a file served by FrankenPHP (uploads, file storage, etc.), this can be escalated to remote code execution by crafting a URL whose path triggers either flaw. This issue has been patched in version 1.12.3.

Affected versions
  • >= 1.11.2, < 1.12.3
CVE-2026-46491 HIGH (8.6) 2026-06-10 Current versionnot affected

SimpleSAMLphp-casserver is a CAS 1.0 and 2.0 compliant CAS server in the form of a SimpleSAMLphp module. Prior to version 7.0.3, simplesamlphp-module-casserver builds file paths for the file-based CAS ticket store by directly concatenating the configured ticket directory with an attacker-controlled ticket identifier. Public CAS validation/proxy endpoints pass attacker-controlled ticket / pgt query parameters into this store. In deployments using FileSystemTicketStore, a remote attacker can use path traversal sequences such as ../target.serialized to make the CAS server read and unserialize files outside the ticket directory. In the CAS 1.0 validation flow, the same attacker-selected path is also passed to deleteTicket() immediately after getTicket() returns, which can delete the target file when it is readable by the PHP process, deletable under the PHP process filesystem permissions, and unserializes to a value compatible with the ?array return type. This issue has been patched in version 7.0.3.

Affected versions
  • < 7.0.3
CVE-2026-9559 CRITICAL (9.9) 2026-05-29 Current versionunclear A path traversal vulnerability exists in the campaign import feature of Mautic 7. When extracting uploaded ZIP files during campaign imports, a flaw in the validation logic allows file paths to escape the intended temporary directories. An authenticated user with campaign import privileges (campaign:imports:create) can write arbitrary PHP files to sensitive system directories. An attacker can exploit this to overwrite critical internal configuration or cache components, resulting in Remote Code Execution (RCE) under the context of the web server user.
CVE-2026-44167 HIGH (7.5) 2026-05-12 Current versionnot affected

phpseclib is a PHP secure communications library. Prior to 1.0.29, 2.0.54, and 3.0.52, anyone loading untrusted ASN1 files (eg. X509 certificates, RSA PKCS8 private or public keys, etc). This is a bypass of CVE-2024-27355. This vulnerability is fixed in 1.0.29, 2.0.54, and 3.0.52.

Affected versions
  • >= 3.0.0, < 3.0.52
  • >= 2.0.0, < 2.0.54
Show 1 more
  • >= 0.1.1, < 1.0.29
CVE-2026-7263 HIGH (7.5) 2026-05-10 Current versionnot affected

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.

Affected versions
  • From (including) 8.4.0 - Up to (excluding) 8.4.21
  • From (including) 8.5.0 - Up to (excluding) 8.5.6
CVE-2026-6104 CRITICAL (9.1) 2026-05-10 Current versionnot affected

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.

Affected versions
  • From (including) 8.4.0 - Up to (excluding) 8.4.21
  • From (including) 8.5.0 - Up to (excluding) 8.5.6
CVE-2026-7568 HIGH (7.5) 2026-05-10 Current versionaffected

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, the metaphone() function in ext/standard/metaphone.c uses a signed int variable to track the current position within the input string. If a string longer than 2,147,483,647 bytes is passed, a signed integer overflow occurs, resulting in undefined behavior. This can lead to an out-of-bounds read, causing a segmentation fault or access to unrelated memory, and may affect the availability of the PHP process.

Affected versions
  • From (including) 8.2.0 - Up to (excluding) 8.2.31
  • From (including) 8.3.0 - Up to (excluding) 8.3.31
Show 2 more
  • From (including) 8.4.0 - Up to (excluding) 8.4.21
  • From (including) 8.5.0 - Up to (excluding) 8.5.6
CVE-2026-7262 HIGH (7.5) 2026-05-10 Current versionaffected

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, when a SOAP server has a typemap configured, the decoding process contains a mistake which checks the wrong variable in case of missing value element.  This leads to dereferences a NULL pointer, causing a segmentation fault. This allows a remote unauthenticated attacker to crash the PHP SOAP server process, resulting in denial of service.

Affected versions
  • From (including) 8.2.0 - Up to (excluding) 8.2.31
  • From (including) 8.3.0 - Up to (excluding) 8.3.31
Show 2 more
  • From (including) 8.4.0 - Up to (excluding) 8.4.21
  • From (including) 8.5.0 - Up to (excluding) 8.5.6
CVE-2026-7261 CRITICAL (9.8) 2026-05-10 Current versionaffected

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, when SoapServer is configured with SOAP_PERSISTENCE_SESSION, the handler object is persisted across requests via session storage. However, in the case SOAP requests results in an error, the persistance is handled incorrectly, resulting in freeing the object while keeping a pointer to it, which may lead to use-after-free. This may lead to memory corruption, information disclosure, or process crashes, with confidentiality, integrity, and availability impact on the vulnerable system.

Affected versions
  • From (including) 8.2.0 - Up to (excluding) 8.2.31
  • From (including) 8.3.0 - Up to (excluding) 8.3.31
Show 2 more
  • From (including) 8.4.0 - Up to (excluding) 8.4.21
  • From (including) 8.5.0 - Up to (excluding) 8.5.6
CVE-2026-7258 HIGH (7.5) 2026-05-10 Current versionaffected

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.

Affected versions
  • From (including) 8.2.0 - Up to (excluding) 8.2.21
  • From (including) 8.3.0 - Up to (excluding) 8.3.31
Show 2 more
  • From (including) 8.4.0 - Up to (excluding) 8.4.21
  • From (including) 8.5.0 - Up to (excluding) 8.5.6
CVE-2026-6735 HIGH (7.3) 2026-05-10 Current versionaffected

In PHP versions 8.2.* before 8.2.31, 8.3.* before 8.3.31, 8.4.* before 8.4.21, 8.5.* before 8.5.6, due to improper sanitation of user data, it allows an attacker to compose an URL, which will cause the target to execute arbitrary JavaScript code (XSS) on the target's machine when the target is viewing the PHP-FPM status page.

Affected versions
  • From (including) 8.2.0 - Up to (excluding) 8.2.31
  • From (including) 8.3.0 - Up to (excluding) 8.3.31
Show 2 more
  • From (including) 8.4.0 - Up to (excluding) 8.4.21
  • From (including) 8.5.0 - Up to (excluding) 8.5.6
CVE-2026-6722 CRITICAL (9.8) 2026-05-10 Current versionaffected

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, the SOAP extension's object deduplication mechanism stores pointers to PHP objects in a global map without incrementing their reference counts. When an apache:Map node contains duplicate keys, processing the second entry overwrites the first in the temporary result map, freeing the original PHP object while its stale pointer remains in the map. A subsequent href reference to the freed node can copy the dangling pointer into the result. As PHP string allocations can reclaim the freed memory region, an attacker with control over the SOAP request body can exploit this use-after-free to achieve remote code execution.

Affected versions
  • From (including) 8.2.0 - Up to (excluding) 8.2.31
  • From (including) 8.3.0 - Up to (excluding) 8.3.31
Show 2 more
  • From (including) 8.4.0 - Up to (excluding) 8.4.21
  • From (including) 8.5.0 - Up to (excluding) 8.5.6
CVE-2025-14179 CRITICAL (9.8) 2026-05-10 Current versionaffected

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, the PDO Firebird driver improperly handles NUL bytes when preparing SQL queries. During token-by-token query construction, a string token containing a NUL byte is copied via strncat(), which stops at the NUL byte, dropping the closing quote and causing subsequent SQL tokens to be interpreted as part of the string. This allows SQL injection when attacker-controlled values are quoted via PDO::quote() and embedded in SQL statements.

Affected versions
  • From (including) 8.2.0 - Up to (excluding) 8.2.31
  • From (including) 8.3.0 - Up to (excluding) 8.3.31
Show 2 more
  • From (including) 8.4.0 - Up to (excluding) 8.4.21
  • From (including) 8.5.0 - Up to (excluding) 8.5.6
CVE-2026-42569 CRITICAL (9.4) 2026-05-09 Current versionnot affected

phpVMS is a PHP application to run and simulate an airline. Prior to version 7.0.6, a critical vulnerability in phpVMS allowed unauthenticated access to a legacy import feature. This issue has been patched in version 7.0.6.

Affected versions
  • < 7.0.6