Lucian Constantin
CSO Senior Writer

Severe flaws in widely used archive library put many projects at risk

news
Jun 22, 20163 mins

Input validation flaws in libarchive could lead to remote code execution

In a world where any new software project is built in large part on existing third-party code, finding and patching vulnerabilities in popular open-source libraries is vital to creating reliable and secure applications.

For example, three severe flaws in libarchive, recently found by researchers from Cisco Systems’ Talos group, could affect a large number of software products.

Libarchive is an open-source library first created for FreeBSD, but since ported to all major operating systems. It provides real-time access to files compressed with a variety of algorithms, including tar, pax, cpio, ISO9660, zip, lha/lzh, rar, cab and 7-Zip.

The library is used by file and package managers included in many Linux and BSD systems, as well as by components and tools in OS X and Chrome OS. Developers can also include the library’s code in their own projects, so it’s hard to know how many other applications or firmware packages contain it.

The Cisco Talos researchers found an integer overflow, a buffer overflow and a heap overflow in the libarchive code that handles 7-Zip, mtree and rar files, respectively.

These are memory corruption errors that can result in arbitrary code execution and can be exploited by passing specially crafted files to applications that contain the vulnerable code.

“When vulnerabilities are discovered in a piece of software such as libarchive, many third-party programs that rely on, and bundle libarchive are affected,” the Talos researchers said in a blog post Tuesday. “These are what are known as common mode failures, which enable attackers to use a single attack to compromise many different programs/systems. Users are encouraged to patch all relevant programs as quickly as possible.”

The libarchive maintainers have released patches for these flaws, but it will likely take a long time for them to trickle down through all the affected projects. That’s because software developers in general do a poor job of tracking vulnerabilities in the third-party code that they use and importing the available patches.

Past studies have shown that many software development firms and companies that create custom software in-house don’t even have a clear picture of which third-party components and libraries have been used in their projects, not to mention their version.

The handling of complex data formats has historically led to many critical input validation vulnerabilities like the ones found by Cisco Talos in libarchive. This won’t be the last time when such flaws are found in widely used libraries and components.

Lucian Constantin

Lucian Constantin writes about information security, privacy, and data protection for CSO. Before joining CSO in 2019, Lucian was a freelance writer for VICE Motherboard, Security Boulevard, Forbes, and The New Stack. Earlier in his career, he was an information security correspondent for the IDG News Service and Information security news editor for Softpedia.

Before he became a journalist, Lucian worked as a system and network administrator. He enjoys attending security conferences and delving into interesting research papers. He lives and works in Romania.

You can reach him at lucian_constantin@foundryco.com or @lconstantin on X. For encrypted email, his PGP key's fingerprint is: 7A66 4901 5CDA 844E 8C6D 04D5 2BB4 6332 FC52 6D42

More from this author