Description
LibreCAD libdxfrw through LC2.2.0 (LibreCAD through 2.2.1.5) contains a stack-based out-of-bounds read vulnerability in dwgReader18::readFileHeader() caused by calling strlen on non-NUL-terminated buffers. Attackers can supply a crafted AC1018, AC1024 or AC1027 DWG file without NUL bytes in the decrypted header to read adjacent stack memory and crash the process.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
LibreCAD libdxfrw
Default version status: unaffected
0 to ≤ LC2.2.0affected
pkg:github/LibreCAD/libdxfrwLibreCAD LibreCAD
Default version status: unaffected
0 to ≤ 2.2.1.5affected
pkg:github/LibreCAD/LibreCADReferences
- https://github.com/LibreCAD/LibreCAD/issues/2554 ↗
- https://hackmd.io/@haind-pwn/libdxfrw-dwg-header-oob-read ↗
- https://github.com/LibreCAD/libdxfrw/blob/LC2.2.0/src/intern/dwgreader18.cpp#L248 ↗
- https://github.com/LibreCAD/LibreCAD/blob/v2.2.1.5/libraries/libdxfrw/src/intern/dwgreader18.cpp#L248 ↗
- https://github.com/LibreCAD/libdxfrw/commit/0c5595930b20917a40ed7c188475eaca624b8ce9 ↗
- https://github.com/LibreCAD/LibreCAD/commit/abd1f4a8e32dbd871c986086227502217200cd4b ↗
- https://www.vulncheck.com/advisories/librecad-libdxfrw-through-lc2-2.0-stack-out-of-bounds-read-via-dwgreader18-readfileheader ↗