Description
libLAS through 1.8.1 contains a heap out-of-bounds write vulnerability in the point record reader caused by truncating the schema byte size to 16 bits when sizing the point buffer. Attackers can craft a .las file with a LASSchema variable length record whose schema exceeds 65535 bytes, so tools like lasinfo, las2las, or las2txt write attacker-controlled bytes past the heap buffer, causing memory corruption and crashes.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| libLAS | libLAS | ≤ 1.8.1 | — |
Fixed in Linux distributions
Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.
Ubuntu
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu 18.04 LTS | liblas | No fix yet | — |
| Ubuntu 16.04 LTS | liblas | No fix yet | — |
References
- https://hackmd.io/@haindpwn/liblas-record-length-truncation-heap-overflow third-party-advisory
- https://github.com/libLAS/libLAS/blob/1.8.1/src/detail/reader/reader.cpp technical-description
- https://github.com/libLAS/libLAS/blob/1.8.1/src/header.cpp technical-description
- VulnCheck Advisory: libLAS through 1.8.1 Heap Out-of-Bounds Write via LASSchema VLR third-party-advisory