OpenShell FS bridge reads pin and verify the opened file before returning bytes
A time-of-check/time-of-use race around OpenShell sandbox filesystem reads could let a symlink swap cause bytes outside the intended mount root to be read.
OpenShell reads now open the file with no-follow semantics where available, validate the pinned file descriptor against the canonical mount root, reject unsafe hardlink/symlink cases, and use a strict fallback ancestor walk on platforms without fd-path readback.
OpenClaw thanks @VladimirEliTokarev for reporting.
{
"github_reviewed": true,
"github_reviewed_at": "2026-05-04T21:07:36Z",
"cwe_ids": [
"CWE-367"
],
"severity": "MODERATE",
"nvd_published_at": null
}