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.
The MITRE CVE dictionary describes this issue as:
Find out more about CVE-2018-10184 from the MITRE CVE dictionary dictionary and NIST NVD.
CVSS3 Base Score | 8.6 |
---|---|
CVSS3 Base Metrics | CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:H |
Attack Vector | Network |
Attack Complexity | Low |
Privileges Required | None |
User Interaction | None |
Scope | Unchanged |
Confidentiality | Low |
Integrity Impact | Low |
Availability Impact | High |
Platform | Errata | Release Date |
---|---|---|
Red Hat Software Collections for Red Hat Enterprise Linux 7 (rh-haproxy18-haproxy) | RHSA-2018:1372 | 2018-05-14 |
Platform | Package | State |
---|---|---|
Red Hat OpenShift Enterprise 3 | haproxy | Affected |
Red Hat Enterprise Linux 7 | haproxy | Not affected |
Red Hat Enterprise Linux 6 | haproxy | Not affected |