GHSA-6qq8-5wq3-86rp

Source
https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2022/02/GHSA-6qq8-5wq3-86rp/GHSA-6qq8-5wq3-86rp.json
Aliases
  • CVE-2020-15129
Published
2022-02-11T23:19:21Z
Modified
2022-08-04T20:56:21Z
Details

Summary

There 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.

Details

The 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.

e.g.

$ curl --header 'Host:traefik.localhost' --header 'X-Forwarded-Prefix:https://example.org' 'http://localhost:8081'
<a href="https://example.org/dashboard/">Found</a>.`

Impact

A successful exploitation of an open redirect can be used to entice victims to disclose sensitive information.

Workarounds

By using the headers middleware, the request header X-Forwarded-Prefix value can be overridden by the value . (dot)

  • https://docs.traefik.io/v2.2/middlewares/headers/#customrequestheaders
  • https://docs.traefik.io/v1.7/basics/#custom-headers

For more information

If you have any questions or comments about this advisory, open an issue in Traefik.

Credit

This issue was found by the GitHub Application Security Team and reported on behalf of the GHAS by the GitHub Security Lab Team.

References

Affected packages

Go / github.com/traefik/traefik

github.com/traefik/traefik

Affected ranges

Type
SEMVER
Events
Introduced
1.5.0-rc5
Fixed
1.7.26

Affected versions

Go / github.com/traefik/traefik/v2

github.com/traefik/traefik/v2

Affected ranges

Type
SEMVER
Events
Introduced
0
Fixed
2.3.0-rc6

Affected versions

Database specific

{
    "last_known_affected_version_range": "< 2.2.8"
}

Go / github.com/containous/traefik

github.com/containous/traefik

Affected ranges

Type
SEMVER
Events
Introduced
1.5.0-rc5
Fixed
1.7.26

Affected versions

Go / github.com/containous/traefik/v2

github.com/containous/traefik/v2

Affected ranges

Type
SEMVER
Events
Introduced
0
Fixed
2.2.8

Affected versions

Go / github.com/traefik/traefik/v2

github.com/traefik/traefik/v2

Affected ranges

Type
SEMVER
Events
Introduced
2.3.0-rc1
Fixed
2.3.0-rc6

Affected versions

Database specific

{
    "last_known_affected_version_range": "< 2.3.0-rc3"
}

Go / github.com/containous/traefik/v2

github.com/containous/traefik/v2

Affected ranges

Type
SEMVER
Events
Introduced
2.3.0-rc1
Fixed
2.3.0-rc3

Affected versions

Go / github.com/traefik/traefik/api

github.com/traefik/traefik/api

Affected ranges

Type
SEMVER
Events
Introduced
1.5.0-rc5
Fixed
1.7.26

Affected versions

Go / github.com/traefik/traefik/v2/pkg/api

github.com/traefik/traefik/v2/pkg/api

Affected ranges

Type
SEMVER
Events
Introduced
0
Fixed
2.3.0-rc6

Affected versions

Database specific

{
    "last_known_affected_version_range": "< 2.2.8"
}

Go / github.com/traefik/traefik/v2/pkg/api

github.com/traefik/traefik/v2/pkg/api

Affected ranges

Type
SEMVER
Events
Introduced
2.3.0-rc1
Fixed
2.3.0-rc6

Affected versions

Database specific

{
    "last_known_affected_version_range": "< 2.3.0-rc3"
}

Go / github.com/containous/traefik/api

github.com/containous/traefik/api

Affected ranges

Type
SEMVER
Events
Introduced
1.5.0-rc5
Fixed
1.7.26

Affected versions

Go / github.com/containous/traefik/v2/pkg/api

github.com/containous/traefik/v2/pkg/api

Affected ranges

Type
SEMVER
Events
Introduced
0
Fixed
2.2.8

Affected versions

Go / github.com/containous/traefik/v2/pkg/api

github.com/containous/traefik/v2/pkg/api

Affected ranges

Type
SEMVER
Events
Introduced
2.3.0-rc1
Fixed
2.3.0-rc3

Affected versions