GCVE Workshop - 22 September 2026 (14:00-18:00), Luxembourg Before The Vulnopticon Conference - Registration
rustsec-2026-0148
Vulnerability from osv_rustsec
Published
2026-05-16 12:00
Modified
2026-05-20 10:00
Summary
OCI layer symlink escape → arbitrary host write
Details

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": [
    {
      "database_specific": {
        "categories": [
          "privilege-escalation",
          "file-disclosure"
        ],
        "cvss": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H",
        "informational": null
      },
      "ecosystem_specific": {
        "affected_functions": null,
        "affects": {
          "arch": [],
          "functions": [],
          "os": []
        }
      },
      "package": {
        "ecosystem": "crates.io",
        "name": "boxlite",
        "purl": "pkg:cargo/boxlite"
      },
      "ranges": [
        {
          "events": [
            {
              "introduced": "0.0.0-0"
            },
            {
              "fixed": "0.9.0"
            }
          ],
          "type": "SEMVER"
        }
      ],
      "versions": []
    }
  ],
  "aliases": [
    "CVE-2026-46703",
    "GHSA-f396-4rp4-7v2j"
  ],
  "database_specific": {
    "license": "CC0-1.0"
  },
  "details": "Affected versions of `boxlite` extract OCI image layer tarballs without\nfully containing path resolution to the extraction root. A crafted layer\ncontaining a symlink whose target is an absolute on-host path (e.g.\n`escape -\u003e /tmp`) followed by a file entry that resolves through that\nsymlink (e.g. `escape/\u003cpath\u003e/pwned.txt`) caused the extractor to write\nthe payload to the host filesystem outside the intended rootfs directory.\n\nThe fix in v0.9.0 routes every destructive filesystem operation through a\n`SafeRoot` handle (`openat2(RESOLVE_IN_ROOT)` on Linux, lexical fallback\nelsewhere) so that no tar entry can resolve outside the extraction root,\neven with adversarial symlinks placed by earlier entries in the same\nlayer.\n\nThis is a container-escape during image extraction, exploitable by any\nuser who pulls or loads a malicious OCI image \u2014 including via\n`SimpleBox(rootfs_path=...)` from an untrusted local layout.",
  "id": "RUSTSEC-2026-0148",
  "modified": "2026-05-20T10:00:58Z",
  "published": "2026-05-16T12:00:00Z",
  "references": [
    {
      "type": "PACKAGE",
      "url": "https://crates.io/crates/boxlite"
    },
    {
      "type": "ADVISORY",
      "url": "https://rustsec.org/advisories/RUSTSEC-2026-0148.html"
    },
    {
      "type": "ADVISORY",
      "url": "https://github.com/boxlite-ai/boxlite/security/advisories/GHSA-f396-4rp4-7v2j"
    },
    {
      "type": "WEB",
      "url": "https://github.com/boxlite-ai/boxlite/pull/429"
    },
    {
      "type": "WEB",
      "url": "https://github.com/boxlite-ai/boxlite/pull/446"
    },
    {
      "type": "WEB",
      "url": "https://github.com/boxlite-ai/boxlite/pull/461"
    }
  ],
  "related": [],
  "severity": [
    {
      "score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H",
      "type": "CVSS_V3"
    }
  ],
  "summary": "OCI layer symlink escape \u2192 arbitrary host write"
}



Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.

Sightings

Author Source Type Date Other

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or observed by the user.
  • Confirmed: The vulnerability has been validated from an analyst's perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
  • Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
  • Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
  • Not confirmed: The user expressed doubt about the validity of the vulnerability.
  • Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.

Loading…

Detection rules are retrieved from Rulezet.

Loading…

Loading…

Related by attack behaviour

Vulnerabilities whose description is nearest to this one in the vector space of the CIRCL/vulnerability-attack-technique-biencoder model. This is a similarity search over the bi-encoder space (plain cosine), not a classification, and it has no measured accuracy.


Loading…