DescriptionAn 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.
SourceCVE (at NVD; CERT, LWN, oss-sec, fulldisc, bugtraq, EDB, Metasploit, Red Hat, Ubuntu, Gentoo, SUSE bugzilla/CVE, Mageia, GitHub code/issues, web search, more)
NVD severitymedium (attack range: remote)

Vulnerable and fixed packages

The table below lists information on source packages.

Source PackageReleaseVersionStatus
haproxy (PTS)jessie1.5.8-3+deb8u2fixed
jessie (security)1.5.8-3+deb8u1fixed
buster, sid1.8.14-1fixed

The information below is based on the following data on fixed versions.

PackageTypeReleaseFixed VersionUrgencyOriginDebian Bugs
haproxysourcejessie(not affected)
haproxysourcestretch(not affected)
haproxysourcewheezy(not affected)


[stretch] - haproxy <not-affected> (Vulnerable code introduced later with HTTP/2 support)
[jessie] - haproxy <not-affected> (Vulnerable code introduced later with HTTP/2 support)
[wheezy] - haproxy <not-affected> (Vulnerable code introduced later with HTTP/2 support);a=commit;h=3f0e1ec70173593f4c2b3681b26c04a4ed5fc588;a=commit;h=cd117685f0cff4f2f5577ef6a21eaae96ebd9f28

Search for package or bug name: Reporting problems