HIGH🇬🇧 English

CVE-2026-54736

Phalcon: timing side-channel w weryfikacji HMAC umożliwia sfałszowanie zaszyfrowanych danych

CVSS 8.2v4.0pub. 2026-07-10upd. 2026-07-13

W framework'u Phalcon przed wersją 5.14.1 funkcja deszyfrowania stosuje niebezpieczne porównanie tagów HMAC podatne na atak czasowy (timing attack). Atakujący może wykorzystać mierzalne różnice czasu odpowiedzi, aby odtworzyć poprawny tag HMAC bajt po bajcie i dołączyć go do spreparowanych danych, które zostaną zaakceptowane przez framework jako autentyczne.

Pokaż oryginał (EN)

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.

🤖 Analiza AI
Jak działa

Metoda Phalcon\Encryption\Crypt::decrypt porównuje dostarczony przez atakującego tag HMAC z obliczonym tagiem przy użyciu operatora tożsamości PHP/Zephir, który w praktyce sprowadza się do porównania bajtowego z wczesnym zakończeniem przy pierwszej różnicy (early return). Ta różnica w czasie przetwarzania jest obserwowalnym kanałem bocznym (timing side-channel), odpowiadającym naruszeniu zasady CWE-208 (Observable Timing Discrepancy). Atakujący, przeprowadzając wiele prób z różnymi wartościami kolejnych bajtów tagu i mierząc czas odpowiedzi, jest w stanie odtworzyć poprawny tag HMAC bajt po bajcie (CWE-347 — brak właściwej weryfikacji kryptograficznej podpisu). Po odzyskaniu prawidłowego tagu może on przypiąć go do wybranego przez siebie wektora inicjalizacji (IV) i szyfrogramu, powodując, że decrypt() zaakceptuje sfałszowaną zaszyfrowaną treść jako autentyczną.

Skutki

Atakujący może doprowadzić do przyjęcia przez aplikację spreparowanych, zmodyfikowanych danych zaszyfrowanych jako autentycznych, co narusza integralność przetwarzanych informacji i może prowadzić do dalszego naruszenia bezpieczeństwa aplikacji korzystających z mechanizmu szyfrowania Phalcon.

Mitygacja

Należy zaktualizować Phalcon do wersji 5.14.1, w której zastosowano bezpieczne porównanie stałoczasowe (constant-time comparison) tagów HMAC. Patch dostępny w repozytorium GitHub producenta (commit ad53ab1b2e7ec59b3af92b0b37b8aaa099011137).

Kogo dotyczy

Phalcon (cphalcon) we wszystkich wersjach poprzedzających 5.14.1

Uwagi

Podatność została zgłoszona i naprawiona w ramach procesu responsible disclosure — szczegóły dostępne w GitHub Security Advisory GHSA-8jqh-95g6-7jpj. Atak wymaga wysokiej złożoności (AC:H w wektorze CVSS), ponieważ skuteczne przeprowadzenie timing attack wymaga wielu precyzyjnych pomiarów czasu odpowiedzi serwera.

CVSS Vector
CVSS:4.0/AV:N/AC:H/AT:N/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
🔵
ZWERYFIKUJ U PRODUCENTA
Brak jednoznacznych danych o patchu. Sprawdź referencje od producenta.
CWE
Referencje