GHSA-2MC2-G238-722J
Vulnerability from github – Published: 2026-03-03 21:35 – Updated: 2026-03-03 21:35Summary
Remote iMessage attachment fetches used SCP with trust-on-first-use host-key behavior and accepted unvalidated remote host tokens.
Before the fix:
- SCP used StrictHostKeyChecking=accept-new in the remote attachment path.
- channels.imessage.remoteHost was not validated as a strict SSH host token.
Impact
In remote iMessage deployments that use SCP attachment fetching, a first-connection MITM/DNS-poisoning scenario could cause the wrong host key to be trusted. Unsafe remote host token values could also alter SCP argument semantics.
Affected Packages / Versions
- Package:
openclaw(npm) - Latest published npm version currently affected:
2026.2.17 - Vulnerable range (structured field):
<= 2026.2.17 - Patched version (pre-set for next release):
>= 2026.2.19
Fix
The fix hardens remote attachment SSH/SCP handling by:
- requiring StrictHostKeyChecking=yes for SCP and SSH tunnel paths,
- adding strict remoteHost normalization/validation,
- adding -- argument barrier for SCP remote source parsing,
- validating channels.imessage.remoteHost in config schema,
- rejecting unsafe auto-detected host tokens at runtime.
Fix Commit(s)
- Pushed to
main: 49d0def6d1e88f002026b1d2a35aa615d48a751a
OpenClaw thanks @allsmog for reporting.
{
"affected": [
{
"database_specific": {
"last_known_affected_version_range": "\u003c= 2026.2.17"
},
"package": {
"ecosystem": "npm",
"name": "openclaw"
},
"ranges": [
{
"events": [
{
"introduced": "0"
},
{
"fixed": "2026.2.19"
}
],
"type": "ECOSYSTEM"
}
]
}
],
"aliases": [],
"database_specific": {
"cwe_ids": [
"CWE-295",
"CWE-78"
],
"github_reviewed": true,
"github_reviewed_at": "2026-03-03T21:35:21Z",
"nvd_published_at": null,
"severity": "MODERATE"
},
"details": "## Summary\n\nRemote iMessage attachment fetches used SCP with trust-on-first-use host-key behavior and accepted unvalidated remote host tokens.\n\nBefore the fix:\n- SCP used `StrictHostKeyChecking=accept-new` in the remote attachment path.\n- `channels.imessage.remoteHost` was not validated as a strict SSH host token.\n\n## Impact\n\nIn remote iMessage deployments that use SCP attachment fetching, a first-connection MITM/DNS-poisoning scenario could cause the wrong host key to be trusted. Unsafe remote host token values could also alter SCP argument semantics.\n\n## Affected Packages / Versions\n\n- Package: `openclaw` (npm)\n- Latest published npm version currently affected: `2026.2.17`\n- Vulnerable range (structured field): `\u003c= 2026.2.17`\n- Patched version (pre-set for next release): `\u003e= 2026.2.19`\n\n## Fix\n\nThe fix hardens remote attachment SSH/SCP handling by:\n- requiring `StrictHostKeyChecking=yes` for SCP and SSH tunnel paths,\n- adding strict `remoteHost` normalization/validation,\n- adding `--` argument barrier for SCP remote source parsing,\n- validating `channels.imessage.remoteHost` in config schema,\n- rejecting unsafe auto-detected host tokens at runtime.\n\n## Fix Commit(s)\n\n- Pushed to `main`: 49d0def6d1e88f002026b1d2a35aa615d48a751a\n\nOpenClaw thanks @allsmog for reporting.",
"id": "GHSA-2mc2-g238-722j",
"modified": "2026-03-03T21:35:21Z",
"published": "2026-03-03T21:35:21Z",
"references": [
{
"type": "WEB",
"url": "https://github.com/openclaw/openclaw/security/advisories/GHSA-2mc2-g238-722j"
},
{
"type": "WEB",
"url": "https://github.com/openclaw/openclaw/commit/49d0def6d1e88f002026b1d2a35aa615d48a751a"
},
{
"type": "PACKAGE",
"url": "https://github.com/openclaw/openclaw"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:4.0/AV:N/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 affected by iMessage remote attachment SCP hardening (strict host-key checks and remoteHost validation)"
}
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.