CVE-2023-47106
Traefik is an open source HTTP reverse proxy and load balancer. When a request is sent to Traefik with a URL fragment, Traefik automatically URL encodes and forwards the fragment to the backend server. This violates RFC 7230 because in the origin-form the URL should only contain the absolute path and the query. When this is combined with another frontend proxy like Nginx, it can be used to bypass frontend proxy URI-based access control restrictions. This vulnerability has been addressed in versions 2.10.6 and 3.0.0-beta5. Users are advised to upgrade. There are no known workarounds for this vulnerability.
CVSS
- Version: 3.1
- Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N
- Base score: 6.5
Exploitation probability (EPSS)
- Probability of exploitation in the next 30 days: 0.63%
- Percentile among all scored CVEs: 48
- Score date: 10/7/2026
EPSS (Exploit Prediction Scoring System, FIRST) estimates how likely a vulnerability is to be exploited in the wild within 30 days. It complements CVSS (impact) and CISA KEV (confirmed exploitation).
Affected technologies (1)
CWEs
- CWE-20
- NVD-CWE-Other
References
- https://datatracker.ietf.org/doc/html/rfc7230#section-5.3.1
- https://github.com/traefik/traefik/releases/tag/v2.10.6
- https://github.com/traefik/traefik/releases/tag/v3.0.0-beta5
- https://github.com/traefik/traefik/security/advisories/GHSA-fvhj-4qfh-q2hm
- https://datatracker.ietf.org/doc/html/rfc7230#section-5.3.1
- https://github.com/traefik/traefik/releases/tag/v2.10.6
- https://github.com/traefik/traefik/releases/tag/v3.0.0-beta5
- https://github.com/traefik/traefik/security/advisories/GHSA-fvhj-4qfh-q2hm
Raw JSON (NVD)
Show
{
"id": "CVE-2023-47106",
"cveTags": [],
"metrics": {
"cvssMetricV31": [
{
"type": "Secondary",
"source": "security-advisories@github.com",
"cvssData": {
"scope": "UNCHANGED",
"version": "3.1",
"baseScore": 4.8,
"attackVector": "NETWORK",
"baseSeverity": "MEDIUM",
"vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:N",
"integrityImpact": "LOW",
"userInteraction": "NONE",
"attackComplexity": "HIGH",
"availabilityImpact": "NONE",
"privilegesRequired": "NONE",
"confidentialityImpact": "LOW"
},
"impactScore": 2.5,
"exploitabilityScore": 2.2
},
{
"type": "Primary",
"source": "nvd@nist.gov",
"cvssData": {
"scope": "UNCHANGED",
"version": "3.1",
"baseScore": 6.5,
"attackVector": "NETWORK",
"baseSeverity": "MEDIUM",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N",
"integrityImpact": "LOW",
"userInteraction": "NONE",
"attackComplexity": "LOW",
"availabilityImpact": "NONE",
"privilegesRequired": "NONE",
"confidentialityImpact": "LOW"
},
"impactScore": 2.5,
"exploitabilityScore": 3.9
}
]
},
"affected": [
{
"source": "security-advisories@github.com",
"affectedData": [
{
"vendor": "traefik",
"product": "traefik",
"versions": [
{
"status": "affected",
"version": "< 2.10.6"
},
{
"status": "affected",
"version": ">= 3.0.0-beta1, < 3.0.0-beta5"
}
]
}
]
}
],
"published": "2023-12-04T21:15:33.600",
"references": [
{
"url": "https://datatracker.ietf.org/doc/html/rfc7230#section-5.3.1",
"tags": [
"Not Applicable"
],
"source": "security-advisories@github.com"
},
{
"url": "https://github.com/traefik/traefik/releases/tag/v2.10.6",
"tags": [
"Release Notes"
],
"source": "security-advisories@github.com"
},
{
"url": "https://github.com/traefik/traefik/releases/tag/v3.0.0-beta5",
"tags": [
"Release Notes"
],
"source": "security-advisories@github.com"
},
{
"url": "https://github.com/traefik/traefik/security/advisories/GHSA-fvhj-4qfh-q2hm",
"tags": [
"Exploit",
"Third Party Advisory"
],
"source": "security-advisories@github.com"
},
{
"url": "https://datatracker.ietf.org/doc/html/rfc7230#section-5.3.1",
"tags": [
"Not Applicable"
],
"source": "af854a3a-2127-422b-91ae-364da2661108"
},
{
"url": "https://github.com/traefik/traefik/releases/tag/v2.10.6",
"tags": [
"Release Notes"
],
"source": "af854a3a-2127-422b-91ae-364da2661108"
},
{
"url": "https://github.com/traefik/traefik/releases/tag/v3.0.0-beta5",
"tags": [
"Release Notes"
],
"source": "af854a3a-2127-422b-91ae-364da2661108"
},
{
"url": "https://github.com/traefik/traefik/security/advisories/GHSA-fvhj-4qfh-q2hm",
"tags": [
"Exploit",
"Third Party Advisory"
],
"source": "af854a3a-2127-422b-91ae-364da2661108"
}
],
"vulnStatus": "Modified",
"weaknesses": [
{
"type": "Secondary",
"source": "security-advisories@github.com",
"description": [
{
"lang": "en",
"value": "CWE-20"
}
]
},
{
"type": "Primary",
"source": "nvd@nist.gov",
"description": [
{
"lang": "en",
"value": "NVD-CWE-Other"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "Traefik is an open source HTTP reverse proxy and load balancer. When a request is sent to Traefik with a URL fragment, Traefik automatically URL encodes and forwards the fragment to the backend server. This violates RFC 7230 because in the origin-form the URL should only contain the absolute path and the query. When this is combined with another frontend proxy like Nginx, it can be used to bypass frontend proxy URI-based access control restrictions. This vulnerability has been addressed in versions 2.10.6 and 3.0.0-beta5. Users are advised to upgrade. There are no known workarounds for this vulnerability."
},
{
"lang": "es",
"value": "Traefik es un equilibrador de carga y proxy inverso HTTP de código abierto. Cuando se envía una solicitud a Traefik con un fragmento de URL, Traefik codifica automáticamente la URL y reenvía el fragmento al servidor backend. Esto viola RFC 7230 porque en el formulario de origen la URL solo debe contener la ruta absoluta y la consulta. Cuando esto se combina con otro proxy de interfaz como Nginx, se puede utilizar para evitar las restricciones de control de acceso basadas en URI del proxy de interfaz. Esta vulnerabilidad se ha solucionado en las versiones 2.10.6 y 3.0.0-beta5. Se recomienda a los usuarios que actualicen. No se conocen workarounds para esta vulnerabilidad."
}
],
"lastModified": "2026-06-17T06:32:09.667",
"configurations": [
{
"nodes": [
{
"negate": false,
"cpeMatch": [
{
"criteria": "cpe:2.3:a:traefik:traefik:*:*:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "AB0C6F34-0937-44ED-B248-F7B63DDA7820",
"versionEndIncluding": "2.10.5"
},
{
"criteria": "cpe:2.3:a:traefik:traefik:3.0.0:beta1:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "376EAF9B-E994-4268-9704-0A45EA30270F"
},
{
"criteria": "cpe:2.3:a:traefik:traefik:3.0.0:beta2:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "F3D08335-C291-4623-B80C-3B14C4D1FA32"
},
{
"criteria": "cpe:2.3:a:traefik:traefik:3.0.0:beta3:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "21033CEE-CEF5-4B0D-A565-4A6FC764AA6D"
},
{
"criteria": "cpe:2.3:a:traefik:traefik:3.0.0:beta4:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "4B5B7BC8-0BBF-48DC-86B1-FC3D7CB8D5AD"
}
],
"operator": "OR"
}
]
}
],
"sourceIdentifier": "security-advisories@github.com"
}