← Advisories

Apache BuildStream 2.8.0 (symlink) Arbitrary File Write

Medium
Advisory ID
ZSL-2026-6005
Release Date
24 September 2026
Vendor
The Apache Software Foundation - https://www.apache.org
Affected Version
2.8.0
Tested On
Linux, Python 3.10
Summary

BuildStream is a powerful software integration tool that allows developers to automate the integration of software components including operating systems, and to streamline the software development and production process.

Description

Apache BuildStream's tar source plugin extracts archives without safely resolving symbolic links (link following). A malicious source tarball can include a symlink entry that points outside the staging directory and then a file entry that writes through it, so a crafted upstream source can create or overwrite files on the host with the privileges of the user running BuildStream, as part of source fetching. On Python < 3.12 the plugin relied on an incomplete internal check (_assert_safe, which skipped symlink members and used a buggy basename/prefix comparison) as the only guard. The fix replaces that check with a custom extraction filter built on the Python tarfile data and tar filters, applied on all Python versions (using a local copy of tarfile.py on Python < 3.12).

Proof of Concept
Disclosure Timeline
13.08.2026Vulnerability discovered.
18.08.2026Contact with the vendor.
19.08.2026Vendor forwards details to appropriate PMC.
28.08.2026Vendor confirms vulnerability.
28.08.2026Replied to the vendor.
11.09.2026Vendor provides tentative fix.
11.09.2026ZSL agrees with fix.
23.09.2026Vendor releases version 2.8.1 to address this issue.
24.09.2026Coordinated public security advisory released.
Credits
Vulnerability discovered by Gjoko Krstic
References
Changelog
24.09.2026Initial release