🇰🇷 한글 설명
MultiJuicer 8.0.0에서 10.0.0 버전 사이에서 팀 참여 엔드포인트가 text/plain을 포함한 모든 Content-Type을 허용하여 CORS 사전 검사(preflight)를 우회하는 취약점이 발견되었습니다. 공격자는 이를 통해 피해자의 브라우저가 공격자의 팀에 자동으로 가입하도록 유도하여 피해자의 활동을 가로채거나 점수를 조작할 수 있습니다.
💡 쉬운 설명
공격자가 만든 웹사이트에 접속하기만 해도, 사용자가 모르는 사이에 공격자의 팀에 강제로 가입될 수 있는 보안 결함입니다. 이로 인해 사용자가 입력한 정보가 공격자에게 전달되거나 게임 점수가 조작될 위험이 있습니다.
🇺🇸 원문 (English)
MultiJuicer is used to run separate Juice Shop instances on a central kubernetes cluster without the need for local instances. In versions 8.0.0 through 10.0.0, the team join endpoint (POST /multi-juicer/api/teams/{team}/join) accepted requests with any Content-Type, including text/plain. Because that content type does not trigger a CORS preflight, an attacker could host a cross-site HTML form that auto-submits to the endpoint and forces a victim's browser to log in as the attacker's team. A successful, undetected attacker can cause victims to unwittingly solve Juice Shop challenges under the attacker's team identity. In a CTF context this lets the attacker inflate their team's score using other players' activity, and any sensitive data the victim enters into "their" Juice Shop ends up in the attacker's instance. The vulnerability is exploitable without any prior authentication; the victim
only needs to visit a page the attacker controls while having network access to the MultiJuicer deployment. SameSite=Strict on the session cookie does not mitigate this, because the attack plants a new cookie rather than relying on an existing one. This issue was fixed in version 10.0.1.
📍 영향받는 시스템
MultiJuicer versions 8.0.0 through 10.0.0
⚔️ 공격 벡터
CORS preflight를 우회하는 Content-Type(text/plain)을 이용한 Cross-Site Request Forgery (CSRF) 공격
🛡️ 대응 방법
MultiJuicer를 버전 10.0.1 이상으로 업데이트하십시오.
🔧 검증 코드
출력 결과에 10.0.1 이상의 버전 정보가 포함되어 있으면 취약점이 해결된 상태입니다.
curl -s http://<target-ip>/api/version | grep -E '10\.[0\.[1-9]|1-9]' || echo 'Version not found or not vulnerable'
📊 CVSS Vector String
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:N
💻 영향받는 소프트웨어
IBM Verify Identity Access