PHP function password_verify can erroneously return true when argument contains NUL
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- Required
- Attack complexity
- Low
- Impact type
- —
- Confidentiality · integrity · availability
- High · None · None
- Fix status
- Partial Red Hat: 2 fixed, 3 without a fix
Attack profile from CVSS 3.1 · CNA. Fix status from CNA and Red Hat.
Summary
In PHP version 8.1.* before 8.1.28, 8.2.* before 8.2.18, 8.3.* before 8.3.5, if a password stored with password_hash() starts with a null byte (\x00), testing a blank string as the password via password_verify() will incorrectly return true.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- No
- Technical impact
- Total
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| PHP Group | PHP | before 8.1.28; before 8.2.18; before 8.3.5 | 8.1.28, 8.2.18, 8.3.5 | Patch available | CNA |
- PHP VendorPHP Group Affected before 8.1.28; before 8.2.18; before 8.3.5 Fixed in 8.1.28, 8.2.18, 8.3.5 Patch available CNA
Remediation
- Fix · CNA PHP (PHP Group) Fixed in 8.1.28, 8.2.18, 8.3.5
Red Hat 5 advisories
- RHSA-2025:7315 Released 2025-05-13 · Red Hat rating Moderatephp security update
- Red Hat Enterprise Linux AppStream (v. 9) php-8.0.30-2.el9, php-bcmath-8.0.30-2.el9, php-cli-8.0.30-2.el9 +22
- RHSA-2024:10950 Released 2024-12-11 · Red Hat rating Moderatephp:8.1 security update
- Red Hat Enterprise Linux AppStream (v. 9) apcu-panel-5.1.21-1.module+el9.1.0.z+15477+cb86791d.noarch::php:8.1, php-8.1.30-1.module+el9.5.0+22481+3e1c6d75.aarch64::php:8.1, php-8.1.30-1.module+el9.5.0+22481+3e1c6d75.ppc64le::php:8.1 +47
- RHSA-2024:10952 Released 2024-12-11 · Red Hat rating Moderatephp:7.4 security update
- Red Hat Enterprise Linux AppStream (v. 8) apcu-panel-5.1.18-1.module+el8.10.0+22485+a3539972.noarch::php:7.4, libzip-1.6.1-1.module+el8.10.0+22485+a3539972.aarch64::php:7.4, libzip-1.6.1-1.module+el8.10.0+22485+a3539972.ppc64le::php:7.4 +47
Show 2 more Red Hat advisories
- RHSA-2024:10951 Released 2024-12-11 · Red Hat rating Moderatephp:8.2 security update
- Red Hat Enterprise Linux AppStream (v. 8) apcu-panel-5.1.23-1.module+el8.10.0+20770+a5eca186.noarch::php:8.2, libzip-1.7.3-1.module+el8.10.0+20770+a5eca186.aarch64::php:8.2, libzip-1.7.3-1.module+el8.10.0+20770+a5eca186.ppc64le::php:8.2 +47
- RHSA-2024:10949 Released 2024-12-11 · Red Hat rating Moderatephp:8.2 security update
- Red Hat Enterprise Linux AppStream (v. 9) apcu-panel-5.1.23-1.module+el9.4.0+20748+b46899d2.noarch::php:8.2, php-8.2.25-1.module+el9.5.0+22477+5fdac06d.aarch64::php:8.2, php-8.2.25-1.module+el9.5.0+22477+5fdac06d.ppc64le::php:8.2 +47
Fixed in the same release
Records fixed by the same vendor advisory or release, as the CNA lists them.
- Release ·
PHP 8.1.28, 8.2.18, 8.3.5
3 records Highest priority Priority HIGH 1 HIGH, 1 MEDIUM, 1 LOW
Other records, highest priority first
- TI-2024-01743 Command injection via array-ish $command parameter of proc_open()Priority HIGH 82
- TI-2024-02567 __Host-/__Secure- cookie bypass due to partial CVE-2022-31629 fixPriority MEDIUM 62
Vendor assessments
Red Hat
Red Hat rating: Low. Red Hat's page for this CVE →
| Product | Status | Plan or fix |
|---|---|---|
| Red Hat Enterprise Linux 6 | Affected | No fix planned: Out of support scope |
| Red Hat Enterprise Linux 7 | Affected | No fix planned: Out of support scope |
| Red Hat Enterprise Linux 8 | Affected | No fix yet: Fix deferred |
| Red Hat Enterprise Linux AppStream (v. 8) | Fixed | RHSA-2024:10951, RHSA-2024:10952 |
| Red Hat Enterprise Linux AppStream (v. 9) | Fixed | RHSA-2024:10949, RHSA-2024:10950, RHSA-2025:7315 |
Not affected: 1 product
- Red Hat Enterprise Linux 10
Timeline
- 2026-10-02 Threatist record created from CVE-2024-3096
References
More PHP Group vulnerabilities
- TI-2024-04260 Argument Injection in PHP-CGI KEVCVSS 3.1CRITICAL 9.8
- TI-2026-78794 PHP remote code execution via stale global state KEVCVSS 4.0CRITICAL 9.2
- TI-2026-78793 Out-of-memory handling flaw in PHP allows remote code execution KEVCVSS 4.0CRITICAL 9.2
- TI-2024-01743 Command injection via array-ish $command parameter of proc_open() CVSS 3.1CRITICAL 9.4
- TI-2022-13555 PDO::quote() may return unquoted string CVSS 3.1CRITICAL 9.1
- TI-2024-10408 Reference counting in php_request_shutdown causes Use-After-Free CVSS 4.0CRITICAL 9.2
Sources
- CVE-2024-3096 · CVE Program
- CVE-2024-3096 · NVD
- FIRST EPSS
- CVE-2024-3096 · Red Hat security data · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences