CVE-2019-14809
golang: malformed hosts in URLs leads to authorization bypass
Severity by source
Trivy's own label is CRITICAL. Rated critical by NVD, Photon OS. Rated lower by Red Hat (medium), Amazon (medium), Oracle (medium), Ubuntu (medium).
Description
net/url in Go before 1.11.13 and 1.12.x before 1.12.8 mishandles malformed hosts in URLs, leading to an authorization bypass in some applications. This is related to a Host field with a suffix appearing in neither Hostname() nor Port(), and is related to a non-numeric port number. For example, an attacker can compose a crafted javascript:// URL that results in a hostname of google.com.
Affected packages and fixed versions
| Source | Package | Fixed in |
|---|---|---|
| Photon OS 1.0 | go | 1.11.13-1.ph1 |
| Photon OS 2.0 | go | 1.11.13-1.ph2 |
| Photon OS 3.0 | go | 1.11.13-1.ph3 |
| alpine 3.10 | go | 1.12.8-r0 |
| alpine 3.11 | go | 1.12.8-r0 |
| alpine 3.12 | go | 1.12.8-r0 |
| alpine 3.13 | go | 1.12.8-r0 |
| alpine 3.14 | go | 1.12.8-r0 |
| alpine 3.15 | go | 1.12.8-r0 |
| alpine 3.16 | go | 1.12.8-r0 |
| alpine 3.17 | go | 1.12.8-r0 |
| alpine 3.18 | go | 1.12.8-r0 |
Show all 54 entries from 28 sources
| Source | Package | Fixed in |
|---|---|---|
| Photon OS 1.0 | go | 1.11.13-1.ph1 |
| Photon OS 2.0 | go | 1.11.13-1.ph2 |
| Photon OS 3.0 | go | 1.11.13-1.ph3 |
| alpine 3.10 | go | 1.12.8-r0 |
| alpine 3.11 | go | 1.12.8-r0 |
| alpine 3.12 | go | 1.12.8-r0 |
| alpine 3.13 | go | 1.12.8-r0 |
| alpine 3.14 | go | 1.12.8-r0 |
| alpine 3.15 | go | 1.12.8-r0 |
| alpine 3.16 | go | 1.12.8-r0 |
| alpine 3.17 | go | 1.12.8-r0 |
| alpine 3.18 | go | 1.12.8-r0 |
| alpine 3.19 | go | 1.12.8-r0 |
| alpine 3.20 | go | 1.12.8-r0 |
| alpine 3.21 | go | 1.12.8-r0 |
| alpine 3.22 | go | 1.12.8-r0 |
| alpine 3.23 | go | 1.12.8-r0 |
| alpine 3.24 | go | 1.12.8-r0 |
| alpine edge | go | 1.12.8-r0 |
| amazon linux 1 | golang | 1.12.8-1.51.amzn1 |
| amazon linux 1 | golang-bin | 1.12.8-1.51.amzn1 |
| amazon linux 1 | golang-docs | 1.12.8-1.51.amzn1 |
| amazon linux 1 | golang-misc | 1.12.8-1.51.amzn1 |
| amazon linux 1 | golang-race | 1.12.8-1.51.amzn1 |
| amazon linux 1 | golang-src | 1.12.8-1.51.amzn1 |
| amazon linux 1 | golang-tests | 1.12.8-1.51.amzn1 |
| amazon linux 2 | golang | 1.9.4-3.amzn2.0.3 |
| amazon linux 2 | golang-bin | 1.9.4-3.amzn2.0.3 |
| amazon linux 2 | golang-docs | 1.9.4-3.amzn2.0.3 |
| amazon linux 2 | golang-misc | 1.9.4-3.amzn2.0.3 |
| amazon linux 2 | golang-src | 1.9.4-3.amzn2.0.3 |
| amazon linux 2 | golang-tests | 1.9.4-3.amzn2.0.3 |
| debian 10 | golang-1.11 | 1.11.6-1+deb10u1 |
| debian 8 | golang | no fix listed |
| debian 9 | golang-1.7 | no fix listed |
| debian 9 | golang-1.8 | no fix listed |
| go::The Go Vulnerability Database | stdlib | 1.11.13, 1.12.8 |
| Oracle Linux 8 | go-toolset | 1.12.8-1.module+el8.1.0+5435+cbe0acb5 |
| Oracle Linux 8 | golang | 1.12.8-2.0.1.module+el8.1.0+5435+cbe0acb5 |
| Oracle Linux 8 | golang-bin | 1.12.8-2.0.1.module+el8.1.0+5435+cbe0acb5 |
| Oracle Linux 8 | golang-docs | 1.12.8-2.0.1.module+el8.1.0+5435+cbe0acb5 |
| Oracle Linux 8 | golang-misc | 1.12.8-2.0.1.module+el8.1.0+5435+cbe0acb5 |
| Oracle Linux 8 | golang-race | 1.12.8-2.0.1.module+el8.1.0+5435+cbe0acb5 |
| Oracle Linux 8 | golang-src | 1.12.8-2.0.1.module+el8.1.0+5435+cbe0acb5 |
| Oracle Linux 8 | golang-tests | 1.12.8-2.0.1.module+el8.1.0+5435+cbe0acb5 |
| Red Hat | golang | no fix listed |
| Red Hat | golang-bin | no fix listed |
| Red Hat | golang-docs | no fix listed |
| Red Hat | golang-misc | no fix listed |
| Red Hat | golang-src | no fix listed |
| Red Hat | golang-tests | no fix listed |
| ubuntu 18.04-ESM | golang-1.10 | no fix listed |
| ubuntu 18.04-ESM | golang-1.8 | no fix listed |
| ubuntu 18.04-ESM | golang-1.9 | no fix listed |
References
- http://lists.opensuse.org/opensuse-security-announce/2019-08/msg00076.html
- http://lists.opensuse.org/opensuse-security-announce/2019-09/msg00002.html
- http://lists.opensuse.org/opensuse-security-announce/2019-09/msg00011.html
- http://lists.opensuse.org/opensuse-security-announce/2019-09/msg00021.html
- http://lists.opensuse.org/opensuse-security-announce/2019-09/msg00038.html
- https://access.redhat.com/errata/RHSA-2019:3433
- https://access.redhat.com/security/cve/CVE-2019-14809
- https://github.com/golang/go/commit/3226f2d492963d361af9dfc6714ef141ba606713%20%28golang-1.12%29
All 28 references
- https://github.com/golang/go/commit/61bb56ad63992a3199acc55b2537c8355ef887b6
- https://github.com/golang/go/commit/c1d9ca70995dc232a2145e3214f94e03409f6fcc%20%28golang-1.11%29
- https://github.com/golang/go/issues/29098
- https://go.dev/cl/189258
- https://go.dev/issue/29098
- https://go.googlesource.com/go/+/61bb56ad63992a3199acc55b2537c8355ef887b6
- https://groups.google.com/forum/#!topic/golang-announce/0uuMm1BwpHE
- https://groups.google.com/forum/#!topic/golang-announce/65QixT3tcmg
- https://groups.google.com/forum/#%21topic/golang-announce/0uuMm1BwpHE
- https://groups.google.com/forum/#%21topic/golang-announce/65QixT3tcmg
- https://groups.google.com/g/golang-announce/c/65QixT3tcmg
- https://linux.oracle.com/cve/CVE-2019-14809.html
- https://linux.oracle.com/errata/ELSA-2019-3433.html
- https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/4BBP27PZGSY6OP6D26E5FW4GZKBFHNU7/
- https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/LYO6E3H34C346D2E443GLXK7OK6KIYIQ/
- https://nvd.nist.gov/vuln/detail/CVE-2019-14809
- https://pkg.go.dev/vuln/GO-2022-0211
- https://seclists.org/bugtraq/2019/Aug/31
- https://www.cve.org/CVERecord?id=CVE-2019-14809
- https://www.debian.org/security/2019/dsa-4503