Apache BuildStream 2.8.1 Blocks Tar Extraction Escape
Quick Answer
Apache BuildStream CVE-2026-82331 affects the tar source plugin through 2.8.0 when run on Python before 3.12. A malicious source archive can follow symbolic links and write outside the extraction area with the fetching user's privileges. Upgrade to a supported release containing the 2.8.1 fix, and inventory the Python interpreter used by each actual build runner, not only the developer workstation.
Confirm Scope And Apply The Supported Fix
What to do now: Inventory Apache BuildStream through 2.8.0 when the tar source plugin runs on Python before 3.12, match the exact affected release or feature, apply the authority-supported fixed build or service remediation, validate the dependent workflow, and preserve evidence.
Source recheck: October 2, 2026 UTC, using the Apache-authored CVE record after the mailing-list page returned only its application shell. The version and extraction conditions are source-checked, not locally reproduced.
Scope And Authority
| Product scope | Apache BuildStream through 2.8.0 when the tar source plugin runs on Python before 3.12 |
|---|---|
| Advisory | CVE-2026-82331 |
| CVE | CVE-2026-82331 |
| Authoritative release date | 2026-09-23 06:58:21.546 UTC |
| Authority revision date | 2026-09-23 16:08:58.171 UTC |
| Affected versions | Apache BuildStream through 2.8.0 when the tar source plugin runs on Python before 3.12 |
| Fixed version | Apache BuildStream 2.8.1 |
| CVSS base score | Not provided by the authority |
| CVSS severity | Moderate |
| Exploitation status | Not stated by the authority; no exploitation claim is inferred. |
What Changed
Apache identifies three relevant protections: use trusted project sources; retain the tracked tarball's SHA256 to detect substitution; and note that BuildStream 2.3.0 or later already uses the protective tarfile filter when running on Python 3.12 or later. A matching checksum does not make a deliberately malicious original archive safe, and the Python combination addresses this symlink escape rather than proving all archive content harmless.
What To Validate Now
- Inventory. Record BuildStream and Python versions inside each CI/worker environment, projects using tar sources, tracked archive hashes and the filesystem privileges of the fetching account.
- Establish applicability. Compare each deployment with the authority's affected-version statement: Apache BuildStream through 2.8.0 when the tar source plugin runs on Python before 3.12 Do not infer applicability from product family or severity alone.
- Remediate. Apply Apache BuildStream 2.8.1 through the supported vendor or project channel, following the current advisory and change-control requirements.
- Validate. Use an isolated disposable runner with synthetic sources to check normal fetching and extraction boundaries. Do not replay an untrusted archive on a developer workstation or production worker merely to confirm susceptibility.
- Retain evidence. Preserve asset and owner identifiers, the applicability decision, before-and-after versions, change approval, installation output, validation results, and any exception or rollback record.
Operational Cautions
Use the exact supported release stream and repository. Test dependencies, clusters, integrations, and rollback before broad deployment; a CVSS rating or reachable feature is not evidence of exploitation.
Evidence To Retain
- Exact product, release stream, package or application version, enabled feature, environment, and accountable owner.
- UTC timestamps, authority revision, approved change record, installer or package-manager output, and resulting version.
- Relevant logs and monitoring evidence, test results, exceptions, compensating controls, and rollback decisions.
Related TechGeeks Resources
Authoritative References
Correction policy: If the authority changes affected versions, fixed versions, severity, exploitation information, mitigations, or required action, TechGeeks will update this notice and its verification date.

