A potentially dangerous flaw has been found in the two-decade old Lempel-Ziv-Oberhumer (LZO) data compression algorithm, created by Markus Oberhumer in 1994, and used in NASA’s Mars Curiosity rover.
Oberhumer noted that the software vulnerability could trigger buffer overflows, denial of service (DoS) and remote code execution (RCE), enabling hackers to design an element of compressed data to run malicious cipher when the software tries to decompress it.
With the flaw working only in limited circumstances, Oberhumer suggested that the ‘practical implications are limited’, while the omnipresent nature of the code signifies that fixing the bug globally would turn out to be great effort.
Oberhumer said that the latest LZO 2.08 fixes a potential integer overflow condition in the "safe" decompressor variants which could result in a possible buffer overrun when processing maliciously crafted compressed input data.
"Fortunately this issue only affects 32-bit systems and also can only happen if you use uncommonly huge buffer sizes where you have to decompress more than 16 MiB (> 2^24 bytes) untrusted compressed bytes within a single function call, so the practical implications are limited," Oberhumer added.
"Also I personally do not know about any client program that uses such a huge logical block size and actually is affected."