
Тестовый инструмент для CVE-2024-26144, который проверяет, неправильно ли кэшируют веб-серверы и CDN HTTP-ответы, содержащие заголовки Set-Cookie, выявляя неверные конфигурации кэширования.
Требования:
$ deno run --allow-run --allow-net check.ts
Если вы хотите протестировать CDN, укажите URL в аргументе.
(Убедитесь, что все кеши очищены перед запуском!)
$ deno run --allow-run --allow-net check.ts https://example.com/
Если HTTP-ответ содержит заголовок Set-Cookie...
| Web server | Ответ кеширован (*1) | Кеш содержит Set-Cookie |
|---|---|---|
| Nginx + proxy_cache | NO | - |
| Nginx + Passenger | YES | YES |
| Apache + mod_cache | YES | YES |
| HAProxy | YES | YES |
| Cloudflare (Free plan) | NO | - |
| CloudFront (CachingOptimized) | YES | NO |
| CloudFront (UseOriginCacheControlHeaders) | NO | - |
| Fastly | NO | - |
*1 Это результат того, работает ли кеш для анонимного пользователя. Даже если указано NO, кеш может возвращаться для запроса с тем же cookie.