CVE-2024-3096 PHP function password_verify can erroneously return true when argument contains NUL

Medium 6.5 Published Updated

Attackers can bypass authentication by providing a blank password if the stored hash begins with a null byte.

Exploited in the wild
Not known
Login needed
Not needed
Attackable
Over the internet
Victim action needed
A user has to click or open something
Fix
Available

What is CVE-2024-3096?

CVE-2024-3096 is a medium-severity authentication bypass vulnerability in Debian Debian Linux, published on 29 Apr 2024. An attacker can exploit it over the internet without logging in, and only if a user opens a file or follows a link.

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

Weakness: CWE-20

Which versions are affected by CVE-2024-3096?

3 open source packages ship an affected version, including libphp, php and php-min. It affects 2 products.

PackageAffectedFixed in
libphp BitnamiAll versions8.1.28, 8.2.18, 8.3.5
php BitnamiAll versions8.1.28, 8.2.18, 8.3.5
php-min BitnamiAll versions8.1.28, 8.2.18, 8.3.5

Products include Debian Debian Linux, Php Php.

How do I fix CVE-2024-3096?

Upgrade libphp to a fixed version for your release line: 8.1.28, 8.2.18 or 8.3.5.

Upgrade, and rotate credentials and sessions that may have been exposed. More about Authentication bypass.

Is CVE-2024-3096 being exploited?

There is no known exploitation of CVE-2024-3096 in the wild and no public exploit code.

All Debian Debian Linux vulnerabilities

Sources

Also known as AZL-40061, AZL-40068, BELL-CVE-2024-3096, BIT-libphp-2024-3096, BIT-php-2024-3096, BIT-php-min-2024-3096 and 12 more.

Is CVE-2024-3096 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free