Page MenuHomeFreeBSD

dummynet: Avoid an out-of-bounds read in do_config()
ClosedPublic

Authored by markj on Nov 26 2021, 4:01 PM.
Tags
None
Referenced Files
F131806880: D33132.diff
Sat, Oct 11, 8:03 AM
Unknown Object (File)
Sat, Sep 20, 6:19 AM
Unknown Object (File)
Thu, Sep 18, 12:12 AM
Unknown Object (File)
Fri, Sep 12, 2:20 PM
Unknown Object (File)
Sep 9 2025, 6:53 PM
Unknown Object (File)
Aug 30 2025, 1:24 AM
Unknown Object (File)
Aug 28 2025, 12:07 AM
Unknown Object (File)
Aug 27 2025, 12:40 PM

Details

Summary

do_config() processes a buffer of variable-length dummynet commands.
The loop which processes this buffer loads the fixed-length header
before checking whether there are any bytes left to read, so it performs
a 4-byte read past the end of the buffer before terminating.

Restructure the loop to avoid this.

Reported by: Jenkins (KASAN job)
MFC after: 1 week
Sponsored by: The FreeBSD Foundation

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable