🇰🇷 한글 설명
오픈 소스 토론 플랫폼인 Discourse의 특정 버전에서 에러 응답 시 Cache-Control 헤더가 누락되는 취약점이 발견되었습니다. 이로 인해 프록시 서버가 에러 응답을 의도치 않게 캐싱할 수 있으며, 이는 캐시 포이즈닝 공격으로 이어질 수 있습니다.
💡 쉬운 설명
웹사이트의 오류 메시지가 중간 서버에 잘못 저장되어 다른 사용자에게도 오류 화면이 보이게 만들 수 있는 문제입니다. 공격자가 이를 악용하면 정상적인 페이지 대신 조작된 페이지를 보여주게 할 수 있습니다.
🇺🇸 원문 (English)
Discourse is an open source discussion platform. Version before 3.6.2 and 3.6.0.beta2, default Cache-Control response header with value no-store, no-cache was missing from error responses. This may caused unintended caching of those responses by proxies potentially leading to cache poisoning attacks. This vulnerability is fixed in 3.6.2 and 3.6.0.beta2.
📍 영향받는 시스템
Discourse 3.6.2 및 3.6.0.beta2 미만 버전
⚔️ 공격 벡터
에러 응답에 캐시 방지 헤더가 없는 점을 이용해 프록시 서버에 잘못된 응답을 캐싱시키는 캐시 포이즈닝 공격
🛡️ 대응 방법
Discourse를 3.6.2 또는 3.6.0.beta2 이상의 최신 버전으로 업데이트하십시오.
🔧 검증 코드
응답 헤더에 'no-store' 또는 'no-cache'가 포함되어 있는지 확인하여 취약 여부를 판단합니다.
curl -I -X GET [대상_URL] | grep -i 'Cache-Control'