CVE-2026-32232: ZeptoClaw Path Boundary Checks Bypass Vulnerability

HIGH
Advisory Identifier: GHSA-2m67-cxxq-c3h8
CWE-62 CWE-22
Published
Advisory Summary

CVE-2026-32232 is a HIGH path boundary checks bypass vulnerability (CWE-62: UNIX Hard Link) affecting ZeptoClaw libraries in the crates.io ecosystem. The issue involves path boundary checks bypass via symlink, toctou, and hardlink. Remediation is available by upgrading affected packages to version 0.7.6.

CVE-2026-32232 at a Glance

CVE Identifier CVE-2026-32232
GHSA Identifier GHSA-2m67-cxxq-c3h8
Severity HIGH
CVSS v3.1 Base Score N/A
CWE Classification CWE-62: UNIX Hard Link
Affected Product ZeptoClaw
Package Ecosystem crates.io
Published Date
Last Updated

How to Fix CVE-2026-32232

To remediate this vulnerability, upgrade all affected ZeptoClaw dependencies to a patched release. Both direct and transitive dependencies should be checked, as frameworks or security libraries may pull in vulnerable versions transitively.

zeptoclaw fixed: 0.7.6
Upgrade zeptoclaw to 0.7.6
Verify Direct and Transitive Dependencies

Run the following command in your project directory to verify that all resolved dependencies use the patched release:

inspect dependencies for zeptoclaw

How to Check if You Are Affected

To determine whether your application is affected by CVE-2026-32232, inspect your project dependencies for ZeptoClaw:

inspect dependencies for zeptoclaw

Analyze the terminal output to locate any version of ZeptoClaw in your dependency tree. If any resolved version matches the vulnerable ranges listed in the table below (for example, versions earlier than 0.7.6), your application is affected.

Note: Verify declared build manifests and deployed runtime container environments.

Technical Details

Vulnerability Mechanism & Technical Analysis

This vulnerability is classified under CWE-62: UNIX Hard Link, where the product, when opening a file or directory, does not sufficiently account for when the name is associated with a hard link to a target that is outside of the intended control sphere. this could allow an attacker to cause the product to operate on unauthorized files. In ZeptoClaw, software state validation or input boundaries are circumvented during processing. Review the official source advisory statement below for specific affected components, classes, and reproduction details.

Source Advisory Statement

### Summary Workspace boundary enforcement currently has three related bypass risks. This issue tracks fixing all three in one pull request. ### Details #### R1 - Dangling Symlink Component Bypass - What happens: Path validation can miss dangling symlink components during traversal checks. - Why it matters: A symlink that is unresolved at validation time can later resolve to an external location. - Impact: Read and write operations may escape workspace boundaries. - Affected area: src/security/path.rs (check_symlink_escape). #### R2 - TOCTOU Between Validation and Use - What happens: The path is validated first, then used later for filesystem operations. - Why it matters: A concurrent filesystem change can swap path components after validation but before open/write. - Impact: Race-based workspace escape is possible. - Affected area: Filesystem and file-consuming tools that call validate_path_in_workspace before I/O. #### R3 - Hardlink Alias Bypass - What happens: A file inside workspace can be a hardlink to an inode outside the intended workspace trust boundary. - Why it matters: Prefix and symlink checks can pass while data access still mutates or reads external content. - Impact: Policy bypass for read/write operations. - Affected area: Any tool that reads or writes via validated paths. #### Risk Matrix | ID | Risk | Severity | Likelihood | Impact | |---|---|---|---|---| | R1 | Dangling symlink component bypass | High | Medium | Workspace boundary escape for read/write | | R2 | Validate/use TOCTOU race | High | Medium | Race-based boundary escape during file I/O | | R3 | Hardlink alias bypass | Medium | Low-Medium | External inode read/write through in-workspace path | ### PoC #### R1 - Dangling symlink component bypass 1. Create a symlink inside workspace pointing to a missing target. 2. Validate a path traversing that symlink. 3. Create the target directory outside workspace after validation. 4. Perform file operation and observe potential boundary escape if not fail-closed. #### R2 - TOCTOU between validation and use 1. Validate a candidate in-workspace path. 2. Before open/write, replace an intermediate component with a link to external location. 3. Continue with the file operation. 4. Observe boundary escape if operation trusts only stale validation result. #### R3 - Hardlink alias bypass 1. Place a hardlink inside workspace that points to an external inode. 2. Validate the in-workspace hardlink path. 3. Read or write through this path. 4. Observe external inode access through a path that appears in-scope. ### Impacts Unauthorized cross path boundary ## Credit [@zpbrent](https://github.com/zpbrent) ### Patch [f50c17e11ae3e2d40c96730abac41974ef2ee2a8](https://github.com/qhkm/zeptoclaw/commit/f50c17e11ae3e2d40c96730abac41974ef2ee2a8)

CVE-2026-32232 Affected ZeptoClaw Versions

1 component(s)
Fixed Versions:
0.7.6
Product / Package Ecosystem Affected Versions Fixed Version
zeptoclaw
crates.io
< 0.7.6
0.7.6

References

Frequently Asked Questions

What is CVE-2026-32232?
CVE-2026-32232 is a security vulnerability in ZeptoClaw involving Path boundary checks bypass via symlink, TOCTOU, and hardlink under CWE-62: UNIX Hard Link.
Which ZeptoClaw versions are affected?
Affected versions include releases prior to 0.7.6 across affected packages: zeptoclaw.
What version fixes CVE-2026-32232?
Upgrading to 0.7.6 (or the latest patched release for your respective branch) resolves the vulnerability.
Is zeptoclaw affected?
Yes, zeptoclaw is affected in releases prior to 0.7.6. Upgrade your dependency to 0.7.6 or later.
What CWE is associated with CVE-2026-32232?
CVE-2026-32232 is classified under CWE-62: UNIX Hard Link (The product, when opening a file or directory, does not sufficiently account for when the name is associated with a hard link to a target that is outside of the intended control sphere. This could allow an attacker to cause the product to operate on unauthorized files.).
How can I check crates.io dependencies for CVE-2026-32232?
Run the dependency tree command: 'inspect dependencies for zeptoclaw'. This command lists direct and transitive dependencies in your build configuration so you can verify if a vulnerable version is resolved.
Machine-readable OSV JSON OSV v1.5 Schema
Normalized schema output
{
  "schema_version" : "1.4.0",
  "id" : "GHSA-2m67-cxxq-c3h8",
  "modified" : "2026-03-13T13:36:00Z",
  "published" : "2026-03-12T16:37:49Z",
  "aliases" : [ "CVE-2026-32232" ],
  "summary" : "ZeptoClaw: Path boundary checks bypass via symlink, TOCTOU, and hardlink",
  "details" : "### Summary\nWorkspace boundary enforcement currently has three related bypass risks. This issue tracks fixing all three in one pull request.\n\n### Details\n\n#### R1 - Dangling Symlink Component Bypass\n- What happens: Path validation can miss dangling symlink components during traversal checks.\n- Why it matters: A symlink that is unresolved at validation time can later resolve to an external location.\n- Impact: Read and write operations may escape workspace boundaries.\n- Affected area: src/security/path.rs (check_symlink_escape).\n\n#### R2 - TOCTOU Between Validation and Use\n- What happens: The path is validated first, then used later for filesystem operations.\n- Why it matters: A concurrent filesystem change can swap path components after validation but before open/write.\n- Impact: Race-based workspace escape is possible.\n- Affected area: Filesystem and file-consuming tools that call validate_path_in_workspace before I/O.\n\n#### R3 - Hardlink Alias Bypass\n- What happens: A file inside workspace can be a hardlink to an inode outside the intended workspace trust boundary.\n- Why it matters: Prefix and symlink checks can pass while data access still mutates or reads external content.\n- Impact: Policy bypass for read/write operations.\n- Affected area: Any tool that reads or writes via validated paths.\n\n#### Risk Matrix\n\n| ID | Risk | Severity | Likelihood | Impact |\n|---|---|---|---|---|\n| R1 | Dangling symlink component bypass | High | Medium | Workspace boundary escape for read/write |\n| R2 | Validate/use TOCTOU race | High | Medium | Race-based boundary escape during file I/O |\n| R3 | Hardlink alias bypass | Medium | Low-Medium | External inode read/write through in-workspace path |\n\n### PoC\n\n#### R1 - Dangling symlink component bypass\n1. Create a symlink inside workspace pointing to a missing target.\n2. Validate a path traversing that symlink.\n3. Create the target directory outside workspace after validation.\n4. Perform file operation and observe potential boundary escape if not fail-closed.\n\n#### R2 - TOCTOU between validation and use\n1. Validate a candidate in-workspace path.\n2. Before open/write, replace an intermediate component with a link to external location.\n3. Continue with the file operation.\n4. Observe boundary escape if operation trusts only stale validation result.\n\n#### R3 - Hardlink alias bypass\n1. Place a hardlink inside workspace that points to an external inode.\n2. Validate the in-workspace hardlink path.\n3. Read or write through this path.\n4. Observe external inode access through a path that appears in-scope.\n\n### Impacts\nUnauthorized cross path boundary\n\n## Credit\n[@zpbrent](https://github.com/zpbrent)\n\n### Patch\n[f50c17e11ae3e2d40c96730abac41974ef2ee2a8](https://github.com/qhkm/zeptoclaw/commit/f50c17e11ae3e2d40c96730abac41974ef2ee2a8)",
  "severity" : [ {
    "type" : "CVSS_V4",
    "score" : "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N/E:P"
  } ],
  "affected" : [ {
    "package" : {
      "ecosystem" : "crates.io",
      "name" : "zeptoclaw"
    },
    "ranges" : [ {
      "type" : "ECOSYSTEM",
      "events" : [ {
        "introduced" : "0"
      }, {
        "fixed" : "0.7.6"
      } ]
    } ],
    "database_specific" : {
      "last_known_affected_version_range" : "<= 0.7.5"
    }
  } ],
  "references" : [ {
    "type" : "WEB",
    "url" : "https://github.com/qhkm/zeptoclaw/security/advisories/GHSA-2m67-cxxq-c3h8"
  }, {
    "type" : "ADVISORY",
    "url" : "https://nvd.nist.gov/vuln/detail/CVE-2026-32232"
  }, {
    "type" : "WEB",
    "url" : "https://github.com/qhkm/zeptoclaw/pull/324"
  }, {
    "type" : "WEB",
    "url" : "https://github.com/qhkm/zeptoclaw/commit/bf004a20d3687a0c1a9e052ec79536e30d6de134"
  }, {
    "type" : "WEB",
    "url" : "https://github.com/qhkm/zeptoclaw/commit/f50c17e11ae3e2d40c96730abac41974ef2ee2a8"
  }, {
    "type" : "PACKAGE",
    "url" : "https://github.com/qhkm/zeptoclaw"
  }, {
    "type" : "WEB",
    "url" : "https://github.com/qhkm/zeptoclaw/releases/tag/v0.7.6"
  } ],
  "database_specific" : {
    "cwe_ids" : [ "CWE-22", "CWE-62" ],
    "severity" : "HIGH",
    "github_reviewed" : true,
    "github_reviewed_at" : "2026-03-12T16:37:49Z",
    "nvd_published_at" : "2026-03-12T19:16:17Z"
  }
}