CVE-2026-48518
Full vulnerability record from the local CVENow database.
Description
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.
View original CVE JSON
{
"id": "CVE-2026-48518",
"sourceIdentifier": "[email protected]",
"published": "2026-06-15T21:17:14.057",
"lastModified": "2026-10-25T23:10:00.167",
"vulnStatus": "Deferred",
"cveTags": [],
"descriptions": [
{
"lang": "en",
"value": "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\nonly 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."
},
{
"lang": "es",
"value": "MultiJuicer se utiliza para ejecutar instancias separadas de Juice Shop en un clúster central de kubernetes sin la necesidad de instancias locales. En las versiones 8.0.0 a 10.0.0, el endpoint de unión de equipo (POST /multi-juicer/API/teams/{team}/join) aceptaba solicitudes con cualquier Content-Type, incluyendo text/plain. Debido a que ese tipo de contenido no activa un preflight de CORS, un atacante podría alojar un formulario HTML de sitio cruzado que se auto-envía al endpoint y fuerza al navegador de una víctima a iniciar sesión como el equipo del atacante. Un atacante exitoso y no detectado puede hacer que las víctimas resuelvan sin saberlo los desafíos de Juice Shop bajo la identidad del equipo del atacante. En un contexto de CTF, esto permite al atacante inflar la puntuación de su equipo utilizando la actividad de otros jugadores, y cualquier dato sensible que la víctima introduzca en ’su’ Juice Shop termina en la instancia del atacante. La vulnerabilidad es explotable sin ninguna autenticación previa; la víctima solo necesita visitar una página que el atacante controla mientras tiene acceso de red al despliegue de MultiJuicer. SameSite=Strict en la cookie de sesión no mitiga esto, porque el ataque planta una nueva cookie en lugar de depender de una existente. Este problema se solucionó en la versión 10.0.1."
}
],
"affected": [
{
"source": "[email protected]",
"affectedData": [
{
"vendor": "juice-shop",
"product": "multi-juicer",
"versions": [
{
"version": ">= 8.0.0, < 10.0.1",
"status": "affected"
}
]
}
]
}
],
"metrics": {
"cvssMetricV31": [
{
"source": "[email protected]",
"type": "Secondary",
"cvssData": {
"version": "3.1",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:N",
"baseScore": 4.3,
"baseSeverity": "MEDIUM",
"attackVector": "NETWORK",
"attackComplexity": "LOW",
"privilegesRequired": "NONE",
"userInteraction": "REQUIRED",
"scope": "UNCHANGED",
"confidentialityImpact": "NONE",
"integrityImpact": "LOW",
"availabilityImpact": "NONE"
},
"exploitabilityScore": 2.8,
"impactScore": 1.4
}
],
"ssvcV203": [
{
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"ssvcData": {
"timestamp": "2026-06-16T12:36:02.554673Z",
"id": "CVE-2026-48518",
"options": [
{
"exploitation": "poc"
},
{
"automatable": "no"
},
{
"technicalImpact": "partial"
}
],
"role": "CISA Coordinator",
"version": "2.0.3"
}
}
]
},
"weaknesses": [
{
"source": "[email protected]",
"type": "Secondary",
"description": [
{
"lang": "en",
"value": "CWE-352"
}
]
}
],
"references": [
{
"url": "https://github.com/juice-shop/multi-juicer/commit/75b08c3fdda410781d421bfdf041fb1e913d6b49",
"source": "[email protected]"
},
{
"url": "https://github.com/juice-shop/multi-juicer/issues/525",
"source": "[email protected]"
},
{
"url": "https://github.com/juice-shop/multi-juicer/security/advisories/GHSA-h759-hf7w-j6m6",
"source": "[email protected]"
},
{
"url": "https://github.com/juice-shop/multi-juicer/security/advisories/GHSA-h759-hf7w-j6m6",
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0"
}
]
}