Apache Struts2 Core TokenHelper uses timing side-channel for token comparisons
Original title: Apache Struts2 Core TokenHelper Token Cryptographic Timing Side-Channel
The token comparison in Apache Struts2 Core 7.4.0 and below uses early-exit functions like != or memcmp, creating a timing side-channel proportional to matching bytes.
The Apache Struts2 Core 7.4.0 and below performs session token comparisons cryptographically insecure early-exit comparison functions (e.g., !=, memcmp, byte-by-byte loops with break) that return as soon as the first mismatched byte is encountered. The execution time of the comparison is therefore proportional to the number of leading bytes that match, creating a measurable timing side-channel.
- Uses early-exit comparison functions
- Timing proportional to matching bytes
- Allows potential inference of token values
Impact: potential partial disclosure of token values via timing attacks
- Vendors
- Apache
- Products
- Struts2 Core
From the original article
Posted by Daniel Owens via Fulldisclosure on Nov 01 Description The Apache Struts2 Core 7. 4. 0 and below performs session token comparisons cryptographically insecure early-exit comparison functions (e.
seclists.org
A short excerpt; the article and its images belong to the publisher. Summary, key facts and assessment above are AI-written from the article and can be wrong.