原始 OSV JSON{
"id": "GHSA-6qq8-5wq3-86rp",
"aliases": [
"CVE-2020-15129"
],
"details": "## Summary\n\nThere exists a potential open redirect vulnerability in Traefik's handling of the `X-Forwarded-Prefix` header. Active Exploitation of this issue is unlikely as it would require active header injection, however the Traefik team addressed this issue nonetheless to prevent abuse in e.g. cache poisoning scenarios.\n\n## Details\n\nThe Traefik API dashboard component doesn't validate that the value of the header `X-Forwarded-Prefix` is a site relative path and will redirect to any header provided URI.\n\ne.g.\n\n```\n$ curl --header 'Host:traefik.localhost' --header 'X-Forwarded-Prefix:https://example.org' 'http://localhost:8081'\n<a href=\"https://example.org/dashboard/\">Found</a>.`\n```\n\n### Impact\nA successful exploitation of an open redirect can be used to entice victims to disclose sensitive information.\n\n### Workarounds\n\nBy using the `headers` middleware, the request header `X-Forwarded-Prefix` value can be overridden by the value `.` (dot)\n\n- https://docs.traefik.io/v2.2/middlewares/headers/#customrequestheaders\n- https://docs.traefik.io/v1.7/basics/#custom-headers\n\n### For more information\n\nIf you have any questions or comments about this advisory, open an issue in [Traefik](https://github.com/containous/traefik/issues).\n\n## Credit\n\nThis issue was found by the GitHub Application Security Team and reported on behalf of the GHAS by the GitHub Security Lab Team.",
"summary": "Traefik vulnerable to Open Redirect via handling of X-Forwarded-Prefix header",
"affected": [
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "1.5.0-rc5"
},
{
"fixed": "1.7.26"
}
]
}
],
"package": {
"name": "github.com/traefik/traefik",
"ecosystem": "Go"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
},
{
"fixed": "2.3.0-rc6"
}
]
}
],
"package": {
"name": "github.com/traefik/traefik/v2",
"ecosystem": "Go"
},
"database_specific": {
"last_known_affected_version_range": "< 2.2.8"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "1.5.0-rc5"
},
{
"fixed": "1.7.26"
}
]
}
],
"package": {
"name": "github.com/containous/traefik",
"ecosystem": "Go"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
},
{
"fixed": "2.2.8"
}
]
}
],
"package": {
"name": "github.com/containous/traefik/v2",
"ecosystem": "Go"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "2.3.0-rc1"
},
{
"fixed": "2.3.0-rc6"
}
]
}
],
"package": {
"name": "github.com/traefik/traefik/v2",
"ecosystem": "Go"
},
"database_specific": {
"last_known_affected_version_range": "< 2.3.0-rc3"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "2.3.0-rc1"
},
{
"fixed": "2.3.0-rc3"
}
]
}
],
"package": {
"name": "github.com/containous/traefik/v2",
"ecosystem": "Go"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "1.5.0-rc5"
},
{
"fixed": "1.7.26"
}
]
}
],
"package": {
"name": "github.com/traefik/traefik/api",
"ecosystem": "Go"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
},
{
"fixed": "2.3.0-rc6"
}
]
}
],
"package": {
"name": "github.com/traefik/traefik/v2/pkg/api",
"ecosystem": "Go"
},
"database_specific": {
"last_known_affected_version_range": "< 2.2.8"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "2.3.0-rc1"
},
{
"fixed": "2.3.0-rc6"
}
]
}
],
"package": {
"name": "github.com/traefik/traefik/v2/pkg/api",
"ecosystem": "Go"
},
"database_specific": {
"last_known_affected_version_range": "< 2.3.0-rc3"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "1.5.0-rc5"
},
{
"fixed": "1.7.26"
}
]
}
],
"package": {
"name": "github.com/containous/traefik/api",
"ecosystem": "Go"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
},
{
"fixed": "2.2.8"
}
]
}
],
"package": {
"name": "github.com/containous/traefik/v2/pkg/api",
"ecosystem": "Go"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "2.3.0-rc1"
},
{
"fixed": "2.3.0-rc3"
}
]
}
],
"package": {
"name": "github.com/containous/traefik/v2/pkg/api",
"ecosystem": "Go"
}
}
],
"modified": "2022-08-04T20:56:21Z",
"severity": [
{
"type": "CVSS_V3",
"score": "CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:N/I:H/A:N"
}
],
"published": "2022-02-11T23:19:21Z",
"references": [
{
"url": "https://github.com/containous/traefik/security/advisories/GHSA-6qq8-5wq3-86rp",
"type": "WEB"
},
{
"url": "https://nvd.nist.gov/vuln/detail/CVE-2020-15129",
"type": "ADVISORY"
},
{
"url": "https://github.com/containous/traefik/pull/7109",
"type": "WEB"
},
{
"url": "https://github.com/containous/traefik/commit/cfa04c300c5db95ae8a52c31a9d973b6dd9c2254",
"type": "WEB"
},
{
"url": "https://github.com/containous/traefik/commit/e63db782c11c7b8bfce30be4c902e7ef8f9f33d2",
"type": "WEB"
},
{
"url": "https://github.com/traefik/traefik/commit/e2c5f3712f68993de8ed3cb30da9ec0aa11acb09",
"type": "WEB"
},
{
"url": "https://github.com/containous/traefik/releases/tag/v1.7.26",
"type": "WEB"
},
{
"url": "https://github.com/containous/traefik/releases/tag/v2.2.8",
"type": "WEB"
},
{
"url": "https://github.com/containous/traefik/releases/tag/v2.3.0-rc3",
"type": "WEB"
},
{
"url": "https://github.com/traefik/traefik",
"type": "PACKAGE"
}
],
"schema_version": "1.4.0",
"database_specific": {
"cwe_ids": [
"CWE-601"
],
"severity": "MODERATE",
"github_reviewed": true,
"nvd_published_at": "2020-07-30T16:15:00Z",
"github_reviewed_at": "2021-05-24T18:21:00Z"
}
}