CVE-2026-48518 (GCVE-0-2026-48518)
Vulnerability from cvelistv5 – Published: 2026-06-15 19:18 – Updated: 2026-06-16 12:36
VLAI
Title
MultiJuicer: Login CSRF allows attacker to force victims into their team
Summary
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.
Severity
4.3 (Medium)
SSVC
Exploitation: poc
Automatable: no
Technical Impact: partial
CISA Coordinator (v2.0.3)
CWE
- CWE-352 - Cross-Site Request Forgery (CSRF)
Assigner
References
3 references
| URL | Tags |
|---|---|
| https://github.com/juice-shop/multi-juicer/securi… | x_refsource_CONFIRM |
| https://github.com/juice-shop/multi-juicer/issues/525 | x_refsource_MISC |
| https://github.com/juice-shop/multi-juicer/commit… | x_refsource_MISC |
Impacted products
1 product
| Vendor | Product | Version | |
|---|---|---|---|
| juice-shop | multi-juicer |
Affected:
>= 8.0.0, < 10.0.1
|
{
"containers": {
"adp": [
{
"metrics": [
{
"other": {
"content": {
"id": "CVE-2026-48518",
"options": [
{
"Exploitation": "poc"
},
{
"Automatable": "no"
},
{
"Technical Impact": "partial"
}
],
"role": "CISA Coordinator",
"timestamp": "2026-06-16T12:36:02.554673Z",
"version": "2.0.3"
},
"type": "ssvc"
}
}
],
"providerMetadata": {
"dateUpdated": "2026-06-16T12:36:31.713Z",
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP"
},
"references": [
{
"tags": [
"exploit"
],
"url": "https://github.com/juice-shop/multi-juicer/security/advisories/GHSA-h759-hf7w-j6m6"
}
],
"title": "CISA ADP Vulnrichment"
}
],
"cna": {
"affected": [
{
"product": "multi-juicer",
"vendor": "juice-shop",
"versions": [
{
"status": "affected",
"version": "\u003e= 8.0.0, \u003c 10.0.1"
}
]
}
],
"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\u0027s browser to log in as the attacker\u0027s team. A successful, undetected attacker can cause victims to unwittingly solve Juice Shop challenges under the attacker\u0027s team identity. In a CTF context this lets the attacker inflate their team\u0027s score using other players\u0027 activity, and any sensitive data the victim enters into \"their\" Juice Shop ends up in the attacker\u0027s 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."
}
],
"metrics": [
{
"cvssV3_1": {
"attackComplexity": "LOW",
"attackVector": "NETWORK",
"availabilityImpact": "NONE",
"baseScore": 4.3,
"baseSeverity": "MEDIUM",
"confidentialityImpact": "NONE",
"integrityImpact": "LOW",
"privilegesRequired": "NONE",
"scope": "UNCHANGED",
"userInteraction": "REQUIRED",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:N",
"version": "3.1"
}
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-352",
"description": "CWE-352: Cross-Site Request Forgery (CSRF)",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-06-15T19:18:29.910Z",
"orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
"shortName": "GitHub_M"
},
"references": [
{
"name": "https://github.com/juice-shop/multi-juicer/security/advisories/GHSA-h759-hf7w-j6m6",
"tags": [
"x_refsource_CONFIRM"
],
"url": "https://github.com/juice-shop/multi-juicer/security/advisories/GHSA-h759-hf7w-j6m6"
},
{
"name": "https://github.com/juice-shop/multi-juicer/issues/525",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/juice-shop/multi-juicer/issues/525"
},
{
"name": "https://github.com/juice-shop/multi-juicer/commit/75b08c3fdda410781d421bfdf041fb1e913d6b49",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/juice-shop/multi-juicer/commit/75b08c3fdda410781d421bfdf041fb1e913d6b49"
}
],
"source": {
"advisory": "GHSA-h759-hf7w-j6m6",
"discovery": "UNKNOWN"
},
"title": "MultiJuicer: Login CSRF allows attacker to force victims into their team"
}
},
"cveMetadata": {
"assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
"assignerShortName": "GitHub_M",
"cveId": "CVE-2026-48518",
"datePublished": "2026-06-15T19:18:29.910Z",
"dateReserved": "2026-05-21T16:18:10.619Z",
"dateUpdated": "2026-06-16T12:36:31.713Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2",
"vulnerability-lookup:meta": {
"epss": {
"cve": "CVE-2026-48518",
"date": "2026-06-24",
"epss": "0.00172",
"percentile": "0.06732"
},
"nvd": "{\"cve\":{\"id\":\"CVE-2026-48518\",\"sourceIdentifier\":\"security-advisories@github.com\",\"published\":\"2026-06-15T21:17:14.057\",\"lastModified\":\"2026-06-16T15:49:33.737\",\"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\u0027s browser to log in as the attacker\u0027s team. A successful, undetected attacker can cause victims to unwittingly solve Juice Shop challenges under the attacker\u0027s team identity. In a CTF context this lets the attacker inflate their team\u0027s score using other players\u0027 activity, and any sensitive data the victim enters into \\\"their\\\" Juice Shop ends up in the attacker\u0027s 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.\"}],\"metrics\":{\"cvssMetricV31\":[{\"source\":\"security-advisories@github.com\",\"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}]},\"weaknesses\":[{\"source\":\"security-advisories@github.com\",\"type\":\"Secondary\",\"description\":[{\"lang\":\"en\",\"value\":\"CWE-352\"}]}],\"references\":[{\"url\":\"https://github.com/juice-shop/multi-juicer/commit/75b08c3fdda410781d421bfdf041fb1e913d6b49\",\"source\":\"security-advisories@github.com\"},{\"url\":\"https://github.com/juice-shop/multi-juicer/issues/525\",\"source\":\"security-advisories@github.com\"},{\"url\":\"https://github.com/juice-shop/multi-juicer/security/advisories/GHSA-h759-hf7w-j6m6\",\"source\":\"security-advisories@github.com\"},{\"url\":\"https://github.com/juice-shop/multi-juicer/security/advisories/GHSA-h759-hf7w-j6m6\",\"source\":\"134c704f-9b21-4f2e-91b3-4a467353bcc0\"}]}}",
"vulnrichment": {
"containers": "{\"adp\": [{\"title\": \"CISA ADP Vulnrichment\", \"metrics\": [{\"other\": {\"type\": \"ssvc\", \"content\": {\"id\": \"CVE-2026-48518\", \"role\": \"CISA Coordinator\", \"options\": [{\"Exploitation\": \"poc\"}, {\"Automatable\": \"no\"}, {\"Technical Impact\": \"partial\"}], \"version\": \"2.0.3\", \"timestamp\": \"2026-06-16T12:36:02.554673Z\"}}}], \"references\": [{\"url\": \"https://github.com/juice-shop/multi-juicer/security/advisories/GHSA-h759-hf7w-j6m6\", \"tags\": [\"exploit\"]}], \"providerMetadata\": {\"orgId\": \"134c704f-9b21-4f2e-91b3-4a467353bcc0\", \"shortName\": \"CISA-ADP\", \"dateUpdated\": \"2026-06-16T12:36:19.298Z\"}}], \"cna\": {\"title\": \"MultiJuicer: Login CSRF allows attacker to force victims into their team\", \"source\": {\"advisory\": \"GHSA-h759-hf7w-j6m6\", \"discovery\": \"UNKNOWN\"}, \"metrics\": [{\"cvssV3_1\": {\"scope\": \"UNCHANGED\", \"version\": \"3.1\", \"baseScore\": 4.3, \"attackVector\": \"NETWORK\", \"baseSeverity\": \"MEDIUM\", \"vectorString\": \"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:N\", \"integrityImpact\": \"LOW\", \"userInteraction\": \"REQUIRED\", \"attackComplexity\": \"LOW\", \"availabilityImpact\": \"NONE\", \"privilegesRequired\": \"NONE\", \"confidentialityImpact\": \"NONE\"}}], \"affected\": [{\"vendor\": \"juice-shop\", \"product\": \"multi-juicer\", \"versions\": [{\"status\": \"affected\", \"version\": \"\u003e= 8.0.0, \u003c 10.0.1\"}]}], \"references\": [{\"url\": \"https://github.com/juice-shop/multi-juicer/security/advisories/GHSA-h759-hf7w-j6m6\", \"name\": \"https://github.com/juice-shop/multi-juicer/security/advisories/GHSA-h759-hf7w-j6m6\", \"tags\": [\"x_refsource_CONFIRM\"]}, {\"url\": \"https://github.com/juice-shop/multi-juicer/issues/525\", \"name\": \"https://github.com/juice-shop/multi-juicer/issues/525\", \"tags\": [\"x_refsource_MISC\"]}, {\"url\": \"https://github.com/juice-shop/multi-juicer/commit/75b08c3fdda410781d421bfdf041fb1e913d6b49\", \"name\": \"https://github.com/juice-shop/multi-juicer/commit/75b08c3fdda410781d421bfdf041fb1e913d6b49\", \"tags\": [\"x_refsource_MISC\"]}], \"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\u0027s browser to log in as the attacker\u0027s team. A successful, undetected attacker can cause victims to unwittingly solve Juice Shop challenges under the attacker\u0027s team identity. In a CTF context this lets the attacker inflate their team\u0027s score using other players\u0027 activity, and any sensitive data the victim enters into \\\"their\\\" Juice Shop ends up in the attacker\u0027s 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.\"}], \"problemTypes\": [{\"descriptions\": [{\"lang\": \"en\", \"type\": \"CWE\", \"cweId\": \"CWE-352\", \"description\": \"CWE-352: Cross-Site Request Forgery (CSRF)\"}]}], \"providerMetadata\": {\"orgId\": \"a0819718-46f1-4df5-94e2-005712e83aaa\", \"shortName\": \"GitHub_M\", \"dateUpdated\": \"2026-06-15T19:18:29.910Z\"}}}",
"cveMetadata": "{\"cveId\": \"CVE-2026-48518\", \"state\": \"PUBLISHED\", \"dateUpdated\": \"2026-06-16T12:36:31.713Z\", \"dateReserved\": \"2026-05-21T16:18:10.619Z\", \"assignerOrgId\": \"a0819718-46f1-4df5-94e2-005712e83aaa\", \"datePublished\": \"2026-06-15T19:18:29.910Z\", \"assignerShortName\": \"GitHub_M\"}",
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
}
}
Loading…
Loading…
Experimental. This forecast is provided for visualization only and may change without notice. Do not use it for operational decisions.
Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.
Sightings
| Author | Source | Type | Date | Other |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or observed by the user.
- Confirmed: The vulnerability has been validated from an analyst's perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
- Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
- Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
- Not confirmed: The user expressed doubt about the validity of the vulnerability.
- Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.
Loading…
Loading…