/

CVE-2026-96275

Severity:

HIGH RISK

(8.8)

Path Traversal (CWE-22) in Flatpak Extra Data Handler

CVE-2026-96275

Awaiting Analysis

Vulnerability type

Category:

Path Traversal

CWE:

CWE-22

Impact:

Arbitrary File Write and Potential Privilege Escalation

Severity:

HIGH RISK

(8.8)

CVSS version:

3.1

Catch this CVE while code is being written

Detect vulnerable code directly in pull requests, so CVEs are fixed before merge.

Summary

A path traversal and symlink-following weakness in Flatpak's extra-data extraction can allow content from a malicious or compromised repository to be written to arbitrary locations on the host filesystem. On system installations, the operation may run with root privileges, increasing the potential for system compromise.

Affected context

The vulnerability occurs when Flatpak processes extra data from a repository using extract_extra_data(). Risk is present when blob names from xa.extra-data-sources are not constrained to safe relative paths and extraction writes through symlinks under files/extra; system-wide installations may perform these operations with elevated privileges.

Exploit preconditions

  • Attack surface: Flatpak repository extra-data processing
  • Required access: The victim must use or process a malicious or compromised repository; direct host filesystem access is not necessarily required
  • Trigger point: Extraction of repository-provided extra data
  • Why exploitation is possible: Unsanitized blob names may contain parent-directory traversal, while filesystem operations can follow symlinks and redirect writes outside the intended extraction directory
  • Privilege condition: System installations may execute the extraction with root privileges

Why this happens

The underlying bug combines insufficient path canonicalization with unsafe filesystem handling. Blob names supplied through xa.extra-data-sources can include traversal components such as .., and the destination path beneath files/extra may follow attacker-controlled symlinks. This maps to CWE-22: Improper Limitation of a Pathname to a Restricted Directory, because externally controlled path information is not reliably confined to the intended extraction root.

Potential impact

  • Arbitrary files on the host may be overwritten or created
  • System configuration or executable content could be altered
  • A system installation could enable code execution with root privileges
  • Local security controls or application data could be damaged
  • The host may be exposed to persistence, privilege escalation, or broader compromise

General mitigation guidance

Mitigation generally focuses on enforcing a strong extraction boundary and treating repository content as untrusted.

Common defensive patterns include:

  • Canonicalizing and validating every destination path before writing
  • Rejecting absolute paths and traversal components
  • Ensuring resolved destinations remain beneath the intended extraction directory
  • Preventing symlink traversal during file creation and replacement
  • Using filesystem APIs that provide no-follow or equivalent containment guarantees
  • Applying least privilege to installation and extraction processes
  • Prefering isolated temporary directories and atomic, policy-controlled moves
  • Reducing trust in repository metadata and requiring trusted repository sources where appropriate

How teams detect issues like this

Organizations can look for this class of issue through:

  • Static analysis rules for path joins involving repository-controlled names
  • Code review checks for missing canonicalization, traversal rejection, or symlink handling
  • Tests using absolute paths, parent-directory components, nested symlinks, and link replacement races
  • Policy enforcement that restricts repository origins and validates package metadata
  • Runtime monitoring for privileged writes outside expected Flatpak installation directories
  • Automated security review tools that flag archive extraction and filesystem boundary violations

Sources

SourceLink
access.redhat.comaccess.redhat.com/errata/RHSA-2026:80497
access.redhat.comaccess.redhat.com/errata/RHSA-2026:80498
access.redhat.comaccess.redhat.com/errata/RHSA-2026:80687
access.redhat.comaccess.redhat.com/errata/RHSA-2026:89733
access.redhat.comaccess.redhat.com/errata/RHSA-2026:90364
access.redhat.comaccess.redhat.com/errata/RHSA-2026:92221
access.redhat.comaccess.redhat.com/errata/RHSA-2026:92369
access.redhat.comaccess.redhat.com/errata/RHSA-2026:95493
access.redhat.comaccess.redhat.com/security/cve/CVE-2026-96275
bugzilla.redhat.combugzilla.redhat.com/show_bug.cgi?id=2539416
github.comgithub.com/flatpak/flatpak/security/advisories/GHSA-fqx6-vh4p-42cg

Frequently asked

questions

It can be triggered through a malicious or compromised Flatpak repository, but exploitation depends on a user or system process consuming that repository. It is not necessarily an unauthenticated network attack against an exposed service.

The attacker generally needs control of repository content or the ability to compromise a repository that the victim trusts or processes.

Treat all archive and repository paths as untrusted, reject traversal and absolute paths, enforce canonical containment, and prevent symlink-following writes.

Combine secure extraction APIs, filesystem boundary tests, least-privilege installation, repository trust controls, and static analysis for path construction and symlink handling.

Find out what's already
exploitable in your codebase.