CVE Database›CVE-2024-3096

CVE-2024-3096

php: password_verify can erroneously return true, opening ATO risk

Loading…

Severity

Low

Red Hat Product Security

4.8

CVSS 3.1

Review impact separately from score.

Published · April 12, 2024

Updated · August 7, 2026

Description

A null byte interaction error vulnerability was found in PHP. 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. If a user can create a password with a leading null byte (unlikely, but syntactically valid), an attacker could trivially compromise the victim's account by attempting to sign in with a blank string.

Statement

The identified issue with password_verify treating a null byte (\x00) at the beginning of a stored hash as the end of the string, leading to incorrect verification of a blank password, is categorized as low severity due to its narrow exploitability and specific conditions required for successful exploitation. The presence of a null byte in the password is uncommon and unlikely to occur under normal user input or system-generated password scenarios. Additionally, modern web applications typically employ input validation and strict password policies that would prevent the creation of passwords with null byte prefixes.

CVSS score applicability

The CVSS score(s) listed for this vulnerability do not reflect the associated product's status, and are included for informational purposes to better understand the severity of this vulnerability.

Mitigation

Mitigation for this issue is either not available or the currently available options don't meet the Red Hat Product Security criteria comprising ease of use and deployment, applicability to widespread installation base or stability.

CVSS / CWE

CVSS 3.1 · 4.8
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:N

CWE-626 · Null Byte Interaction Error (Poison Null Byte)