PHP function password_verify can erroneously return true when argument contains NUL
Default status is the baseline for the product, each version can override it (e.g. patched versions marked unaffected).
| Vendor | Product | Default status | Versions | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| PHP Group | PHP | affected |
|
Configuration 1 [-]
|
Configuration 2 [-]
|
| Package | CPE | Advisory | Released Date |
|---|---|---|---|
| Red Hat Enterprise Linux 8 | |||
| php:8.2-8100020241112130045.f7998665 | cpe:/a:redhat:enterprise_linux:8 | RHSA-2024:10951 | 2024-12-11T00:00:00Z |
| php:7.4-8100020241113075828.f7998665 | cpe:/a:redhat:enterprise_linux:8 | RHSA-2024:10952 | 2024-12-11T00:00:00Z |
| Red Hat Enterprise Linux 9 | |||
| php:8.2-9050020241112094217.9 | cpe:/a:redhat:enterprise_linux:9 | RHSA-2024:10949 | 2024-12-11T00:00:00Z |
| php:8.1-9050020241112144108.9 | cpe:/a:redhat:enterprise_linux:9 | RHSA-2024:10950 | 2024-12-11T00:00:00Z |
| php-0:8.0.30-2.el9 | cpe:/a:redhat:enterprise_linux:9 | RHSA-2025:7315 | 2025-05-13T00:00:00Z |
No data available yet.
Vendor Workaround
Pre-filter potential password strings to ensure they do not contain NUL bytes.
| Source | ID | Title |
|---|---|---|
Debian DLA |
DLA-3810-1 | php7.3 security update |
Debian DSA |
DSA-5660-1 | php7.4 security update |
Debian DSA |
DSA-5661-1 | php8.2 security update |
EUVD |
EUVD-2024-31701 | 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. |
Ubuntu USN |
USN-6757-1 | PHP vulnerabilities |
Ubuntu USN |
USN-6757-2 | PHP vulnerabilities |
No CVSS v4.0
No CVSS v3.0
No CVSS v2
This CVE is not in the KEV list.
Exploit prediction score: 1.5% (1.492% probability within 30 days)
| Type | Values Removed | Values Added |
|---|---|---|
| References |
|
| Type | Values Removed | Values Added |
|---|---|---|
| First Time appeared |
Php Group
Php Group php |
|
| CPEs | cpe:2.3:a:php_group:php:8.1.0:*:*:*:*:*:*:* cpe:2.3:a:php_group:php:8.2.0:*:*:*:*:*:*:* cpe:2.3:a:php_group:php:8.3.0:*:*:*:*:*:*:* |
|
| Vendors & Products |
Php Group
Php Group php |
|
| Metrics |
ssvc
|
| Type | Values Removed | Values Added |
|---|---|---|
| Metrics |
epss
|
epss
|
| Type | Values Removed | Values Added |
|---|---|---|
| First Time appeared |
Debian
Debian debian Linux Php Php php |
|
| Weaknesses | NVD-CWE-noinfo | |
| CPEs | cpe:2.3:a:php:php:*:*:*:*:*:*:*:* cpe:2.3:o:debian:debian_linux:10.0:*:*:*:*:*:*:* |
|
| Vendors & Products |
Debian
Debian debian Linux Php Php php |
| Type | Values Removed | Values Added |
|---|---|---|
| Description | 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. | 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. |
| Type | Values Removed | Values Added |
|---|---|---|
| First Time appeared |
Redhat
Redhat enterprise Linux |
|
| CPEs | cpe:/a:redhat:enterprise_linux:8 cpe:/a:redhat:enterprise_linux:9 |
|
| Vendors & Products |
Redhat
Redhat enterprise Linux |