GHSA-XXVH-5HWJ-42PP
Vulnerability from github – Published: 2026-02-18 22:44 – Updated: 2026-02-20 16:47Description
normalizeForHash in src/agents/sandbox/config-hash.ts recursively sorted arrays that contained only primitive values. This made order-sensitive sandbox configuration arrays hash to the same value even when order changed.
In OpenClaw sandbox flows, this hash is used to decide whether existing sandbox containers should be recreated. As a result, order-only config changes (for example Docker dns and binds array order) could be treated as unchanged and stale containers could be reused.
This is a configuration integrity issue affecting sandbox recreation behavior.
Affected Packages / Versions
- Package:
openclaw(npm) - Affected:
<=2026.2.14 - Patched (planned next release):
>=2026.2.15 - Latest published npm version at triage time (2026-02-16):
2026.2.14
Remediation
Array ordering is now preserved during hash normalization; only object key ordering remains normalized for deterministic hashing.
Fix Commit(s)
41ded303b4f6dae5afa854531ff837c3276ad60b
Release Process Note
patched_versions is pre-set to the planned next release (2026.2.15) so after npm publish, the advisory can be published directly without reopening version metadata edits.
Thanks @kexinoh ( of Tencent zhuque Lab, by https://github.com/Tencent/AI-Infra-Guard) for reporting.
{
"affected": [
{
"package": {
"ecosystem": "npm",
"name": "openclaw"
},
"ranges": [
{
"events": [
{
"introduced": "0"
},
{
"fixed": "2026.2.15"
}
],
"type": "ECOSYSTEM"
}
]
}
],
"aliases": [
"CVE-2026-27007"
],
"database_specific": {
"cwe_ids": [
"CWE-1254"
],
"github_reviewed": true,
"github_reviewed_at": "2026-02-18T22:44:10Z",
"nvd_published_at": "2026-02-20T00:16:17Z",
"severity": "MODERATE"
},
"details": "## Description\n\n`normalizeForHash` in `src/agents/sandbox/config-hash.ts` recursively sorted arrays that contained only primitive values. This made order-sensitive sandbox configuration arrays hash to the same value even when order changed.\n\nIn OpenClaw sandbox flows, this hash is used to decide whether existing sandbox containers should be recreated. As a result, order-only config changes (for example Docker `dns` and `binds` array order) could be treated as unchanged and stale containers could be reused.\n\nThis is a configuration integrity issue affecting sandbox recreation behavior.\n\n## Affected Packages / Versions\n\n- Package: `openclaw` (npm)\n- Affected: `\u003c=2026.2.14`\n- Patched (planned next release): `\u003e=2026.2.15`\n- Latest published npm version at triage time (2026-02-16): `2026.2.14`\n\n## Remediation\n\nArray ordering is now preserved during hash normalization; only object key ordering remains normalized for deterministic hashing.\n\n## Fix Commit(s)\n\n- `41ded303b4f6dae5afa854531ff837c3276ad60b`\n\n## Release Process Note\n\n`patched_versions` is pre-set to the planned next release (`2026.2.15`) so after npm publish, the advisory can be published directly without reopening version metadata edits.\n\nThanks @kexinoh ( of Tencent zhuque Lab, by https://github.com/Tencent/AI-Infra-Guard) for reporting.",
"id": "GHSA-xxvh-5hwj-42pp",
"modified": "2026-02-20T16:47:26Z",
"published": "2026-02-18T22:44:10Z",
"references": [
{
"type": "WEB",
"url": "https://github.com/openclaw/openclaw/security/advisories/GHSA-xxvh-5hwj-42pp"
},
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2026-27007"
},
{
"type": "WEB",
"url": "https://github.com/openclaw/openclaw/commit/41ded303b4f6dae5afa854531ff837c3276ad60b"
},
{
"type": "PACKAGE",
"url": "https://github.com/openclaw/openclaw"
},
{
"type": "WEB",
"url": "https://github.com/openclaw/openclaw/releases/tag/v2026.2.15"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N",
"type": "CVSS_V4"
}
],
"summary": "OpenClaw\u0027s sandbox config hash sorted primitive arrays and suppressed needed container recreation"
}
Sightings
| Author | Source | Type | Date |
|---|
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.