🔍 CVE-2026-89186

0.0
CVSS Score
UNKNOWN
2026-09-16
2026-09-16 20:38
✅ 완료

🇰🇷 한글 설명

ZenHive mpp 라이브러리에서 민감한 정보가 포함된 캐시를 사용하는 취약점이 발견되었습니다. 공유 HTTP 캐시가 유료 응답을 저장하여 결제하지 않은 클라이언트에게도 해당 데이터를 제공할 수 있습니다.

💡 쉬운 설명

유료 결제를 한 사람의 정보가 담긴 페이지가 인터넷 임시 저장소(캐시)에 잘못 저장될 수 있습니다. 이로 인해 돈을 내지 않은 사람도 결제된 정보를 볼 수 있는 보안 문제가 발생합니다.

🇺🇸 원문 (English)

Use of Cache Containing Sensitive Information in ZenHive mpp allows a shared HTTP cache to store a paid response and serve it to clients that never paid. MPP.Plug.verify_credential in lib/mpp/plug.ex sets payment-receipt and cache-control: private on the connection before the wrapped application runs, and registers no register_before_send/2 callback. Plug.Conn.put_resp_header/3 replaces an existing header, so a mounting application that sets its own cache-control on the paid resource (for example public, max-age=3600) silently overrides the private the library relies on, and a CDN or reverse proxy can then store the paid 200 together with its Payment-Receipt and serve both to unpaid clients. The library-level guarantee is therefore defeatable by the application it protects. For the same reason a downstream non-2xx response still carried Payment-Receipt, issuing a receipt for a response that delivered no resource. This issue affects mpp: from 0.1.0 before 0.16.2.

📍 영향받는 시스템

mpp: 0.1.0 버전부터 0.16.2 미만 버전

⚔️ 공격 벡터

애플리케이션이 캐시 제어 헤더를 잘못 설정하여 CDN이나 리버스 프록시가 유료 응답을 공용 캐시에 저장하도록 유도

🛡️ 대응 방법

mpp 라이브러리를 0.16.2 이상의 최신 버전으로 업데이트하십시오.

🔧 검증 코드

출력된 mpp 버전을 확인하여 0.16.2 미만인지 확인하십시오.

Shell / Script
mix exec 'Mix.Task.run("ver")' 2>/dev/null | grep -E 'mpp' || echo 'mpp not found'

💻 영향받는 소프트웨어

Storage Protect Client