---
id: CVE-2026-46703
aliases:
  - RUSTSEC-2026-0148
  - GHSA-f396-4rp4-7v2j
  - GO-2026-5344
  - PYSEC-2026-298
title: OCI layer symlink escape → arbitrary host write
summary: OCI layer symlink escape → arbitrary host write
severity: critical
cvss: 10
cvssVector: 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H'
vendor: boxlite
product: boxlite
ecosystem: rust
affected:
  - 'boxlite >= 0.0.0-0, < 0.9.0'
patched:
  - boxlite 0.9.0
published: '2026-05-16'
updated: '2026-10-12'
sourceUpdated: '2026-10-12T18:00:13.556256982Z'
source: OSV
sourceUrl: 'https://osv.dev/vulnerability/RUSTSEC-2026-0148'
references:
  - url: 'https://crates.io/crates/boxlite'
  - url: 'https://rustsec.org/advisories/RUSTSEC-2026-0148.html'
  - url: 'https://github.com/boxlite-ai/boxlite/pull/429'
  - url: 'https://github.com/boxlite-ai/boxlite/pull/429'
  - url: 'https://github.com/boxlite-ai/boxlite/pull/446'
  - url: 'https://github.com/boxlite-ai/boxlite/pull/461'
  - url: >-
      https://github.com/boxlite-ai/boxlite/security/advisories/GHSA-f396-4rp4-7v2j
  - url: 'https://nvd.nist.gov/vuln/detail/CVE-2026-46703'
  - url: 'https://github.com/boxlite-ai/boxlite'
  - url: 'https://github.com/boxlite-ai/boxlite/releases/tag/v0.9.0'
tags:
  - osv
  - rust
  - pip
epss: 0.00482
epssPercentile: 0.41368
ingestedAt: '2026-09-12T03:13:01.690Z'
---

## Overview

Affected versions of `boxlite` extract OCI image layer tarballs without
fully containing path resolution to the extraction root. A crafted layer
containing a symlink whose target is an absolute on-host path (e.g.
`escape -> /tmp`) followed by a file entry that resolves through that
symlink (e.g. `escape/<path>/pwned.txt`) caused the extractor to write
the payload to the host filesystem outside the intended rootfs directory.

The fix in v0.9.0 routes every destructive filesystem operation through a
`SafeRoot` handle (`openat2(RESOLVE_IN_ROOT)` on Linux, lexical fallback
elsewhere) so that no tar entry can resolve outside the extraction root,
even with adversarial symlinks placed by earlier entries in the same
layer.

This is a container-escape during image extraction, exploitable by any
user who pulls or loads a malicious OCI image — including via
`SimpleBox(rootfs_path=...)` from an untrusted local layout.

## Affected packages

- `boxlite >= 0.0.0-0, < 0.9.0`

## Remediation

Upgrade to a patched release:

- `boxlite 0.9.0`
