Hi Chris!
On 11/05/2019 01:48, Chris Lamb wrote:
[adding debian-lts@lists.debian.org to CC for visibility]
Hi dhcpcd developers,
I'm trying to backport two recent CVEs to the dhcpcd 6.0.5 (!)
I don't officially support dhcpcd-6 anymore - it just gets the latest
security fix to the last release.
codebase as part of the Debian LTS [0] and I was just checking-in to
get your response to a few thoughts of mine.
The first is about CVE-2019-11579 regarding the 1-byte read overflow
with the handling of DHO_OPTSOVERLOADED. The diff in question [1]
that remedies this essentially just moves some code out of the case
handling, but this code is not part of dhcpcd 6.0.5 which only has:
case DHO_OPTIONSOVERLOADED:
/* Ensure we only get this option once by setting
* the last bit as well as the value.
* This is valid because only the first two bits
* actually mean anything in RFC2132 Section 9.3 */
if (!overl)
overl = 0x80 | p[1];
break;
… as part of the case statement. Does this mean that 6.0.5 is not
vulnerable to CVE-2019-11579 or that it *is* because it lacks the
underlying check?
It is vulnerable because it looks at p[1].
At this point we've not checked option length OR if it's inside the buffer.
Secondly, I am looking at CVE-2019-11766 which is regarding the buffer
over-read in D6_OPTION_PD_EXCLUDE, but I don't think support for DHCP
prefix lengths was even implemented in 6.0.5. The two diffs that
address this issue [2][3] appear to confirm this by referencing code
that is not part of that version.
Correct, there is no support for D6_OPTION_PD_EXCLUDE in dhcpcd-6.0.5
Roy