Description
Phalcon is a high-performance, full-stack PHP framework. Prior to 5.14.1, Phalcon\Encryption\Crypt::decrypt compares the attacker-supplied HMAC tag against the freshly computed HMAC using PHP/Zephir identity comparison, which lowers to a byte-wise comparison that returns early on the first differing byte. This observable timing discrepancy can allow an attacker to recover a valid tag byte-by-byte and attach it to a chosen IV and ciphertext so that decrypt() accepts tampered encrypted content as authentic. This issue is fixed in version 5.14.1.
Problem types
CWE-208: Observable Timing Discrepancy
CWE-347: Improper Verification of Cryptographic Signature
Product status
References
github.com/...halcon/security/advisories/GHSA-8jqh-95g6-7jpj
github.com/phalcon/cphalcon/issues/17090
github.com/phalcon/cphalcon/pull/17091
github.com/...ommit/ad53ab1b2e7ec59b3af92b0b37b8aaa099011137
github.com/phalcon/cphalcon/releases/tag/v5.14.1