Every CVE Search/ Get API key

CVE-2018-20102

An out-of-bounds read in dns_validate_dns_response in dns.c was discovered in HAProxy through 1.8...

7.5 HighFix available

An out-of-bounds read in dns_validate_dns_response in dns.c was discovered in HAProxy through 1.8.14. Due to a missing check when validating DNS responses, remote attackers might be able read the 16 bytes corresponding to an AAAA record from the non-initialized part of the buffer, possibly accessing anything that was left on the stack, or even past the end of the 8193-byte buffer, depending on the value of accepted_payload_size.

Attack profile

How easy it is to exploit

Attack vector
Network
Complexity
Low
Privileges needed
None
User interaction
None

What an attacker can affect

Confidentiality
High
Integrity
None
Availability
None

Exploit likelihood

4.15%Up 2.3 points since Apr 14, 2021
90%50%10%1%

What each source reports

NVD Score used 7.5

An out-of-bounds read in dns_validate_dns_response in dns.c was discovered in HAProxy through 1.8.14. Due to a missing check when validating DNS responses, remote attackers might be able read the 16 bytes corresponding to an AAAA record from the non-initialized part of the buffer, possibly accessing anything that was left on the stack, or even past the end of the 8193-byte buffer, depending on the value of accepted_payload_size.

Record
CVE-2018-20102
CVSS 3.0
7.5 HighCVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
CVSS 2.0
5.0 MediumAV:N/AC:L/Au:N/C:P/I:N/A:N
Weakness
CWE-125
Updated
2026-11-02
CVE List No score

An out-of-bounds read in dns_validate_dns_response in dns.c was discovered in HAProxy through 1.8.14. Due to a missing check when validating DNS responses, remote attackers might be able read the 16 bytes corresponding to an AAAA record from the non-initialized part of the buffer, possibly accessing anything that was left on the stack, or even past the end of the 8193-byte buffer, depending on the value of accepted_payload_size.

Record
CVE-2018-20102
Updated
2026-11-02
EUVDEUVD-2018-12672 No score

An out-of-bounds read in dns_validate_dns_response in dns.c was discovered in HAProxy through 1.8.14. Due to a missing check when validating DNS responses, remote attackers might be able read the 16 bytes corresponding to an AAAA record from the non-initialized part of the buffer, possibly accessing anything that was left on the stack, or even past the end of the 8193-byte buffer, depending on the value of accepted_payload_size.

Record
EUVD-2018-12672
Updated
2026-11-03
GitHub AdvisoriesGHSA-5m22-hqfx-435p 7.5

An out-of-bounds read in dns_validate_dns_response in dns.c was discovered in HAProxy through 1.8...

An out-of-bounds read in dns_validate_dns_response in dns.c was discovered in HAProxy through 1.8.14. Due to a missing check when validating DNS responses, remote attackers might be able read the 16 bytes corresponding to an AAAA record from the non-initialized part of the buffer, possibly accessing anything that was left on the stack, or even past the end of the 8193-byte buffer, depending on the value of accepted_payload_size.

Record
GHSA-5m22-hqfx-435p
CVSS 3.0
7.5 HighCVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
Weakness
CWE-125
Updated
2026-11-02
OSV 7.5

An out-of-bounds read in dns_validate_dns_response in dns.c was discovered in HAProxy through 1.8.14. Due to a missing check when validating DNS responses, remote attackers might be able read the 16 bytes corresponding to an AAAA record from the non-initialized part of the buffer, possibly accessing anything that was left on the stack, or even past the end of the 8193-byte buffer, depending on the value of accepted_payload_size.

Record
CVE-2018-20102
CVSS 3.0
7.5 HighCVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
Updated
2026-11-02
OSVDEBIAN-CVE-2018-20102 7.5

An out-of-bounds read in dns_validate_dns_response in dns.c was discovered in HAProxy through 1.8.14. Due to a missing check when validating DNS responses, remote attackers might be able read the 16 bytes corresponding to an AAAA record from the non-initialized part of the buffer, possibly accessing anything that was left on the stack, or even past the end of the 8193-byte buffer, depending on the value of accepted_payload_size.

Record
DEBIAN-CVE-2018-20102
CVSS 3.0
7.5 HighCVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
Updated
2026-11-02
Show 7 moreShow less
OSVRHBA-2019:0326 8.8

Red Hat Bug Fix Advisory: OpenShift Container Platform 3.11 bug fix update

Record
RHBA-2019:0326
CVSS 3.0
8.8 HighCVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Updated
2026-11-02
OSVRHSA-2019:0547 6.5

Red Hat Security Advisory: OpenShift Container Platform 3.9 haproxy security update

Record
RHSA-2019:0547
CVSS 3.0
6.5 MediumCVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:L
Updated
2026-11-02
OSVRHSA-2019:1436 7.5

Red Hat Security Advisory: rh-haproxy18-haproxy security, bug fix, and enhancement update

Record
RHSA-2019:1436
CVSS 3.0
7.5 HighCVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Updated
2026-11-02
OSVUBUNTU-CVE-2018-20102 7.5

An out-of-bounds read in dns_validate_dns_response in dns.c was discovered in HAProxy through 1.8.14. Due to a missing check when validating DNS responses, remote attackers might be able read the 16 bytes corresponding to an AAAA record from the non-initialized part of the buffer, possibly accessing anything that was left on the stack, or even past the end of the 8193-byte buffer, depending on the value of accepted_payload_size.

Record
UBUNTU-CVE-2018-20102
CVSS 3.0
7.5 HighCVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
Updated
2026-11-02
OSVopenSUSE-SU-2019:0044-1 No score

Security update for haproxy

This update for haproxy to version 1.8.15 fixes the following issues:

Security issues fixed:

  • CVE-2018-20102: Fixed an out-of-bounds read in dns_validate_dns_response(), which allowed for memory disclosure (bsc#1119368)
  • CVE-2018-20103: Fixed an infinite recursion via crafted packet allows stack exhaustion and denial of service (bsc#1119419)

Other notable bug fixes:

  • Fix off-by-one write in dns_validate_dns_response()
  • Fix out-of-bounds read via signedness error in dns_validate_dns_response()
  • Prevent out-of-bounds read in dns_validate_dns_response()
  • Prevent out-of-bounds read in dns_read_name()
  • Prevent stack-exhaustion via recursion loop in dns_read_name

For a full list of changes, please refer to: https://www.haproxy.org/download/1.8/src/CHANGELOG

This update was imported from the SUSE:SLE-15:Update update project.

Record
openSUSE-SU-2019:0044-1
Updated
2026-11-02
OSVSUSE-SU-2019:0061-1 No score

Security update for haproxy

This update for haproxy to version 1.8.15 fixes the following issues:

Security issues fixed:

  • CVE-2018-20102: Fixed an out-of-bounds read in dns_validate_dns_response(), which allowed for memory disclosure (bsc#1119368)
  • CVE-2018-20103: Fixed an infinite recursion via crafted packet allows stack exhaustion and denial of service (bsc#1119419)

Other notable bug fixes:

  • Fix off-by-one write in dns_validate_dns_response()
  • Fix out-of-bounds read via signedness error in dns_validate_dns_response()
  • Prevent out-of-bounds read in dns_validate_dns_response()
  • Prevent out-of-bounds read in dns_read_name()
  • Prevent stack-exhaustion via recursion loop in dns_read_name

For a full list of changes, please refer to: https://www.haproxy.org/download/1.8/src/CHANGELOG

Record
SUSE-SU-2019:0061-1
Updated
2026-11-02
OSVUSN-3858-1 No score

haproxy vulnerabilities

It was discovered that HAProxy incorrectly handled certain requests. An attacker could possibly use this to expose sensitive information. (CVE-2018-20102)

It was discovered that HAProxy incorrectly handled certain requests. A attacker could possibly use this issue to cause a denial of service. This issue only affected Ubuntu 18.04 LTS and Ubuntu 18.10. (CVE-2018-20103, CVE-2018-20615)

Record
USN-3858-1
Updated
2026-11-02

Affected products

Affected packages

Affected packages
PackageAffectedFixed
haproxy
Debian:12
before 1.8.15-1
1.8.15-1
haproxy
Debian:13
before 1.8.15-1
1.8.15-1
haproxy
Debian:14
before 1.8.15-1
1.8.15-1
haproxy
Debian:9
before 1.7.5-2+deb9u1, plus listed versions
1.7.5-2
1.7.5-2+deb9u1
atomic-enterprise-service-catalog
Red Hat:openshift:3.11::el7
before 1:3.11.82-1.git.1673.133961e.el7
1:3.11.82-1.git.1673.133961e.el7
atomic-enterprise-service-catalog-svcat
Red Hat:openshift:3.11::el7
before 1:3.11.82-1.git.1673.133961e.el7
1:3.11.82-1.git.1673.133961e.el7
atomic-openshift
Red Hat:openshift:3.11::el7
before 0:3.11.82-1.git.0.08bc31b.el7
0:3.11.82-1.git.0.08bc31b.el7
atomic-openshift-clients
Red Hat:openshift:3.11::el7
before 0:3.11.82-1.git.0.08bc31b.el7
0:3.11.82-1.git.0.08bc31b.el7
atomic-openshift-clients-redistributable
Red Hat:openshift:3.11::el7
before 0:3.11.82-1.git.0.08bc31b.el7
0:3.11.82-1.git.0.08bc31b.el7
atomic-openshift-cluster-autoscaler
Red Hat:openshift:3.11::el7
before 0:3.11.82-1.git.0.efb6af0.el7
0:3.11.82-1.git.0.efb6af0.el7
Show 44 moreShow less
Affected packages
PackageAffectedFixed
atomic-openshift-descheduler
Red Hat:openshift:3.11::el7
before 0:3.11.82-1.git.300.89765c9.el7
0:3.11.82-1.git.300.89765c9.el7
atomic-openshift-docker-excluder
Red Hat:openshift:3.11::el7
before 0:3.11.82-1.git.0.08bc31b.el7
0:3.11.82-1.git.0.08bc31b.el7
atomic-openshift-dockerregistry
Red Hat:openshift:3.11::el7
before 0:3.11.82-1.git.452.0ce6383.el7
0:3.11.82-1.git.452.0ce6383.el7
atomic-openshift-excluder
Red Hat:openshift:3.11::el7
before 0:3.11.82-1.git.0.08bc31b.el7
0:3.11.82-1.git.0.08bc31b.el7
atomic-openshift-hyperkube
Red Hat:openshift:3.11::el7
before 0:3.11.82-1.git.0.08bc31b.el7
0:3.11.82-1.git.0.08bc31b.el7
atomic-openshift-hypershift
Red Hat:openshift:3.11::el7
before 0:3.11.82-1.git.0.08bc31b.el7
0:3.11.82-1.git.0.08bc31b.el7
atomic-openshift-master
Red Hat:openshift:3.11::el7
before 0:3.11.82-1.git.0.08bc31b.el7
0:3.11.82-1.git.0.08bc31b.el7
atomic-openshift-metrics-server
Red Hat:openshift:3.11::el7
before 0:3.11.82-1.git.52.2fdca3f.el7
0:3.11.82-1.git.52.2fdca3f.el7
atomic-openshift-node
Red Hat:openshift:3.11::el7
before 0:3.11.82-1.git.0.08bc31b.el7
0:3.11.82-1.git.0.08bc31b.el7
atomic-openshift-node-problem-detector
Red Hat:openshift:3.11::el7
before 0:3.11.82-1.git.254.a448936.el7
0:3.11.82-1.git.254.a448936.el7
atomic-openshift-pod
Red Hat:openshift:3.11::el7
before 0:3.11.82-1.git.0.08bc31b.el7
0:3.11.82-1.git.0.08bc31b.el7
atomic-openshift-sdn-ovs
Red Hat:openshift:3.11::el7
before 0:3.11.82-1.git.0.08bc31b.el7
0:3.11.82-1.git.0.08bc31b.el7
atomic-openshift-service-idler
Red Hat:openshift:3.11::el7
before 0:3.11.82-1.git.14.e353758.el7
0:3.11.82-1.git.14.e353758.el7
atomic-openshift-template-service-broker
Red Hat:openshift:3.11::el7
before 0:3.11.82-1.git.0.08bc31b.el7
0:3.11.82-1.git.0.08bc31b.el7
atomic-openshift-tests
Red Hat:openshift:3.11::el7
before 0:3.11.82-1.git.0.08bc31b.el7
0:3.11.82-1.git.0.08bc31b.el7
atomic-openshift-web-console
Red Hat:openshift:3.11::el7
before 0:3.11.82-1.git.355.5e8b1d9.el7
0:3.11.82-1.git.355.5e8b1d9.el7
golang-github-openshift-oauth-proxy
Red Hat:openshift:3.11::el7
before 0:3.11.82-1.git.425.7cac034.el7
0:3.11.82-1.git.425.7cac034.el7
golang-github-prometheus-alertmanager
Red Hat:openshift:3.11::el7
before 0:3.11.82-1.git.0.3bf41ce.el7
0:3.11.82-1.git.0.3bf41ce.el7
golang-github-prometheus-node_exporter
Red Hat:openshift:3.11::el7
before 0:3.11.82-1.git.1063.48444e8.el7
0:3.11.82-1.git.1063.48444e8.el7
golang-github-prometheus-prometheus
Red Hat:openshift:3.11::el7
before 0:3.11.82-1.git.5027.9d24833.el7
0:3.11.82-1.git.5027.9d24833.el7
haproxy
Red Hat:openshift:3.11::el7
before 0:1.8.17-3.el7
0:1.8.17-3.el7
haproxy-debuginfo
Red Hat:openshift:3.11::el7
before 0:1.8.17-3.el7
0:1.8.17-3.el7
haproxy18
Red Hat:openshift:3.11::el7
before 0:1.8.17-3.el7
0:1.8.17-3.el7
jenkins
Red Hat:openshift:3.11::el7
before 0:2.150.2.1549032159-1.el7
0:2.150.2.1549032159-1.el7
jenkins-2-plugins
Red Hat:openshift:3.11::el7
before 0:3.11.1549642489-1.el7
0:3.11.1549642489-1.el7
openshift-ansible
Red Hat:openshift:3.11::el7
before 0:3.11.82-3.git.0.9718d0a.el7
0:3.11.82-3.git.0.9718d0a.el7
openshift-ansible-docs
Red Hat:openshift:3.11::el7
before 0:3.11.82-3.git.0.9718d0a.el7
0:3.11.82-3.git.0.9718d0a.el7
openshift-ansible-playbooks
Red Hat:openshift:3.11::el7
before 0:3.11.82-3.git.0.9718d0a.el7
0:3.11.82-3.git.0.9718d0a.el7
openshift-ansible-roles
Red Hat:openshift:3.11::el7
before 0:3.11.82-3.git.0.9718d0a.el7
0:3.11.82-3.git.0.9718d0a.el7
openshift-ansible-test
Red Hat:openshift:3.11::el7
before 0:3.11.82-3.git.0.9718d0a.el7
0:3.11.82-3.git.0.9718d0a.el7
openshift-enterprise-autoheal
Red Hat:openshift:3.11::el7
before 0:3.11.82-1.git.219.0b5aff4.el7
0:3.11.82-1.git.219.0b5aff4.el7
openshift-enterprise-cluster-capacity
Red Hat:openshift:3.11::el7
before 0:3.11.82-1.git.380.cf11c51.el7
0:3.11.82-1.git.380.cf11c51.el7
prometheus
Red Hat:openshift:3.11::el7
before 0:3.11.82-1.git.5027.9d24833.el7
0:3.11.82-1.git.5027.9d24833.el7
prometheus-alertmanager
Red Hat:openshift:3.11::el7
before 0:3.11.82-1.git.0.3bf41ce.el7
0:3.11.82-1.git.0.3bf41ce.el7
prometheus-node-exporter
Red Hat:openshift:3.11::el7
before 0:3.11.82-1.git.1063.48444e8.el7
0:3.11.82-1.git.1063.48444e8.el7
haproxy
Red Hat:openshift:3.9::el7
before 0:1.8.17-3.el7
0:1.8.17-3.el7
haproxy-debuginfo
Red Hat:openshift:3.9::el7
before 0:1.8.17-3.el7
0:1.8.17-3.el7
haproxy18
Red Hat:openshift:3.9::el7
before 0:1.8.17-3.el7
0:1.8.17-3.el7
rh-haproxy18-haproxy
Red Hat:rhel_software_collections:3::el7
before 0:1.8.17-1.el7
0:1.8.17-1.el7
rh-haproxy18-haproxy-debuginfo
Red Hat:rhel_software_collections:3::el7
before 0:1.8.17-1.el7
0:1.8.17-1.el7
rh-haproxy18-haproxy-syspaths
Red Hat:rhel_software_collections:3::el7
before 0:1.8.17-1.el7
0:1.8.17-1.el7
haproxy
SUSE:Linux Enterprise High Availability Extension 15
before 1.8.15~git0.6b6a350a-3.6.2
1.8.15~git0.6b6a350a-3.6.2
haproxy
Ubuntu:16.04:LTS
before 1.6.3-1ubuntu0.2, plus listed versions
1.5.14-11.5.15-11.6.2-11.6.2-21.6.2-2ubuntu11.6.2-2ubuntu31.6.3-11.6.3-1ubuntu0.1
1.6.3-1ubuntu0.2
haproxy
Ubuntu:18.04:LTS
before 1.8.8-1ubuntu0.3, plus listed versions
1.7.9-1ubuntu11.7.9-1ubuntu21.8.4-11.8.7-11.8.8-11.8.8-1ubuntu0.11.8.8-1ubuntu0.2
1.8.8-1ubuntu0.3

History

History
RecordedChangedSources
aliasesEUVD
first indexedCVE List, GitHub Advisories, NVD, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2018-20102 is a high vulnerability (CVSS 7.5) in Haproxy, published December 12, 2018. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 4.15%, the 90th percentile. Fixed in haproxy 1.8.15-1.

References

Show 127 moreShow less
MoveEnter Open