An attacker can use up close to a second of CPU with a single request by sending a crafted Cache-Control header. Sent over and over, those requests can slow your app down or stop it from answering. This is a ReDoS: a regular expression that takes far longer on some inputs than on others.

Who is affected

Apps that handle HTTP requests with symfony/http-foundation, also part of symfony/symfony. The Symfony advisory says the header is parsed every time a Request is built, so any app handling HTTP requests is reachable, with no login needed. With longer inputs the parser gives up instead, and every directive in that Cache-Control header is silently dropped.

What to do

Update to 5.4.54, 6.4.46, 7.4.19 or 8.1.7, or later. If you're on 8.0, move to 8.1.

The first release of the fix broke splitting a header on a space in 6.4.46 to 6.4.47, 7.4.19 to 7.4.20 and 8.1.7 to 8.1.8. Versions 6.4.48, 7.4.21 and 8.1.9 fix that as well, so they're the ones to aim for.

Reported by r3verii.