Haproxy HAProxy

stack.watch can notify you when security vulnerabilities are reported in HAProxy. You can add multiple products that you use with Haproxy to create your own personal software stack watcher.

By the Year

In 2020 there have been 1 vulnerability in HAProxy with an average score of 8.8 out of ten. Last year Haproxy had 5 security vulnerabilities published. Right now, Haproxy is on track to have less security vulerabilities in 2020 than it did last year. However, the average CVE base score of the vulnerabilities in 2020 is greater by 1.16.

Year Vulnerabilities Average Score
2020 1 8.80
2019 5 7.64
2018 5 7.18

It may take a day or so for new Haproxy vulnerabilities to show up. Additionally vulnerabilities may be tagged under a different product or component name.

Latest HAProxy Security Vulnerabilities

In hpack_dht_insert in hpack-tbl.c in the HPACK decoder in HAProxy 1.8 through 2.x before 2.1.4, a remote attacker can write arbitrary bytes around a certain location on the heap

CVE-2020-11100 8.8 - High - April 02, 2020

In hpack_dht_insert in hpack-tbl.c in the HPACK decoder in HAProxy 1.8 through 2.x before 2.1.4, a remote attacker can write arbitrary bytes around a certain location on the heap via a crafted HTTP/2 request, possibly causing remote code execution.

Out-of-bounds Write

The HTTP/2 implementation in HAProxy before 2.0.10 mishandles headers

CVE-2019-19330 9.8 - Critical - November 27, 2019

The HTTP/2 implementation in HAProxy before 2.0.10 mishandles headers, as demonstrated by carriage return (CR, ASCII 0xd), line feed (LF, ASCII 0xa), and the zero character (NUL, ASCII 0x0), aka Intermediary Encapsulation Attacks.

Downstream Injection

A flaw was found in HAProxy before 2.0.6

CVE-2019-18277 7.5 - High - October 23, 2019

A flaw was found in HAProxy before 2.0.6. In legacy mode, messages featuring a transfer-encoding header missing the "chunked" value were not being correctly rejected. The impact was limited but if combined with the "http-reuse always" setting, it could be used to help construct an HTTP request smuggling attack against a vulnerable component employing a lenient parser that would ignore the content-length header as soon as it saw a transfer-encoding one (even if not entirely valid according to the specification).

Improper Input Validation

HAProxy through 2.0.2

CVE-2019-14241 7.5 - High - July 23, 2019

HAProxy through 2.0.2 allows attackers to cause a denial of service (ha_panic) via vectors related to htx_manage_client_side_cookies in proto_htx.c.

Improper Input Validation

HAProxy before 1.9.7 mishandles a reload with rotated keys, which triggers use of uninitialized, and very predictable, HMAC keys

CVE-2019-11323 5.9 - Medium - May 09, 2019

HAProxy before 1.9.7 mishandles a reload with rotated keys, which triggers use of uninitialized, and very predictable, HMAC keys. This is related to an include/types/ssl_sock.h error.

Use of a Broken or Risky Cryptographic Algorithm

An out-of-bounds read issue was discovered in the HTTP/2 protocol decoder in HAProxy 1.8.x and 1.9.x through 1.9.0

CVE-2018-20615 7.5 - High - March 21, 2019

An out-of-bounds read issue was discovered in the HTTP/2 protocol decoder in HAProxy 1.8.x and 1.9.x through 1.9.0 which can result in a crash. The processing of the PRIORITY flag in a HEADERS frame requires 5 extra bytes, and while these bytes are skipped, the total frame length was not re-checked to make sure they were present in the frame.

Out-of-bounds Read

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

CVE-2018-20102 7.5 - High - December 12, 2018

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.

Out-of-bounds Read

An issue was discovered in dns.c in HAProxy through 1.8.14

CVE-2018-20103 7.5 - High - December 12, 2018

An issue was discovered in dns.c in HAProxy through 1.8.14. In the case of a compressed pointer, a crafted packet can trigger infinite recursion by making the pointer point to itself, or create a long chain of valid pointers resulting in stack exhaustion.

Loop with Unreachable Exit Condition ('Infinite Loop')

A flaw was discovered in the HPACK decoder of HAProxy, before 1.8.14, that is used for HTTP/2

CVE-2018-14645 7.5 - High - September 21, 2018

A flaw was discovered in the HPACK decoder of HAProxy, before 1.8.14, that is used for HTTP/2. An out-of-bounds read access in hpack_valid_idx() resulted in a remote crash and denial of service.

Out-of-bounds Read

Incorrect caching of responses to requests including an Authorization header in HAProxy 1.8.0 through 1.8.9 (if cache enabled)

CVE-2018-11469 5.9 - Medium - May 25, 2018

Incorrect caching of responses to requests including an Authorization header in HAProxy 1.8.0 through 1.8.9 (if cache enabled) allows attackers to achieve information disclosure via an unauthenticated remote request, related to the proto_http.c check_request_for_cacheability function.

Information Leak

An issue was discovered in HAProxy before 1.8.8

CVE-2018-10184 7.5 - High - May 09, 2018

An issue was discovered in HAProxy before 1.8.8. The incoming H2 frame length was checked against the max_frame_size setting instead of being checked against the bufsize. The max_frame_size only applies to outgoing traffic and not to incoming, so if a large enough frame size is advertised in the SETTINGS frame, a wrapped frame will be defragmented into a temporary allocated buffer where the second fragment may overflow the heap by up to 16 kB. It is very unlikely that this can be exploited for code execution given that buffers are very short lived and their addresses not realistically predictable in production, but the likelihood of an immediate crash is absolutely certain.

Memory Corruption