Innovate faster and cut risk with PHP experts from Zend Services.
Explore Services
See How Zend Helps Leading Hosting Providers Keep Their Managed Sites on Secure PHP
Read More
Learn PHP from PHP experts with free, on-demand, and instructor led courses.
Explore Training
Submit support requests and browse self-service resources.
Explore Support
password_verify can erroneously return true
If a password stored with password_hash() starts with a null byte (\x00), passing a blank string to password_verify() will incorrectly return true.
password_hash()
\x00
password_verify()
true
While this vulnerability is syntactically possible, it's a highly unlikely scenarioMost users will not likely use null bytes when creating passwords, and the majority of frameworks and applications do some validation on character sets and length to ensure strong passwords. If at all possible, disallow leading null bytes in passwords through good input filtering practices.
If you use password_hash() and password_verify(), and cannot validate that passwords were filtered for null bytes before being hashed and stored in your system, update to a patched version of PHP immediately.
Direct link to CVE-2024-3096 >
< View all CVEs