# GHSA-hv93-r4j3-q65f: OpenClaw Hook Session Key Override Enables Targeted Cross-Session Routing

> An attacker with a valid hook token can inject messages into arbitrary sessions if request-based session key routing is enabled, compromising data integrity.

- **Severity:** Not scored
- **Exploited in the wild:** Not known
- **Login needed:** Any signed-in user
- **Attackable:** Over the internet
- **Victim action needed:** Not needed
- **Fix available:** Yes
- **Published:** 17 Feb 2026

## What is GHSA-hv93-r4j3-q65f?

GHSA-hv93-r4j3-q65f is a missing authorization vulnerability in openclaw, published on 17 Feb 2026. Any signed-in user can exploit it over the network, with no action from the victim.

### Official description

## Summary
The issue is not deterministic session keys by itself. The exploitable path was accepting externally supplied `sessionKey` values on authenticated hook ingress, allowing a hook token holder to route messages into chosen sessions.

## Affected Behavior
- `POST /hooks/agent` accepted payload `sessionKey` and used it directly for session routing.
- Common session-key shapes (for example `agent:main:dm:<peerId>`) were often derivable from known metadata, making targeted routing practical when request-level override was enabled.

## Attack Preconditions
- Attacker can call hook endpoints with a valid hook token.
- Hook ingress allows request-selected `sessionKey` values.
- Target session keys can be derived or guessed.

Without those preconditions, deterministic key formats alone do not provide access.

## Impact
- Integrity: targeted message/prompt injection into chosen sessions.
- Persistence: poisoned context can affect subsequent turns when the same session key is reused.
- Confidentiality impact is secondary and depends on additional weaknesses.

## Affected Versions
- `openclaw` `>= 2.0.0-beta3` and `< 2026.2.12`

## Patched Versions
- `openclaw` `>= 2026.2.12`

## Fix
OpenClaw now uses secure defaults for hook session routing:
- `POST /hooks/agent` rejects payload `sessionKey` unless `hooks.allowRequestSessionKey=true`.
- Added `hooks.defaultSessionKey` for fixed ingress routing.
- Added `hooks.allowedSessionKeyPrefixes` to constrain explicit routing keys.
- Security audit warns on unsafe hook session-routing settings.

## Recommended Configuration
```json
{
  "hooks": {
    "enabled": true,
    "token": "${OPENCLAW_HOOKS_TOKEN}",
    "defaultSessionKey": "hook:ingress",
    "allowRequestSessionKey": false,
    "allowedSessionKeyPrefixes": ["hook:"]
  }
}
```

## Credit
Thanks @alpernae for responsible reporting.

## Which versions are affected by GHSA-hv93-r4j3-q65f?

2 open source packages ship an affected version, including openclaw.


| Package | Ecosystem | Affected | Fixed in |
| --- | --- | --- | --- |
| `openclaw` | npm | From 2.0.0-beta3 | 2026.2.12 |
| `openclaw` | npm | From 2.0.0-beta3 | 2026.2.12 |

## How do I fix GHSA-hv93-r4j3-q65f?

Upgrade openclaw to 2026.2.12 or later.

## Is GHSA-hv93-r4j3-q65f being exploited?

There is no known exploitation of GHSA-hv93-r4j3-q65f in the wild and no public exploit code.

## Fix prompt for AI coding agents

```text
Check this codebase for GHSA-hv93-r4j3-q65f and fix it if it is affected.

What it is: GHSA-hv93-r4j3-q65f is a missing authorization vulnerability in openclaw, published on 17 Feb 2026. Any signed-in user can exploit it over the network, with no action from the victim.
Exploitation: There is no known exploitation of GHSA-hv93-r4j3-q65f in the wild and no public exploit code.

Affected packages and fixed versions:
- openclaw (npm): affected from 2.0.0-beta3; fixed in 2026.2.12
- openclaw (npm): affected from 2.0.0-beta3; fixed in 2026.2.12

Task:
1. Search the dependency manifests and lockfiles (for example package.json, package-lock.json, requirements.txt, poetry.lock, uv.lock, pom.xml, build.gradle, go.mod, Cargo.lock, Gemfile.lock) and any Dockerfiles for the affected packages, including transitive dependencies.
2. If an affected version is in use, upgrade it to the fixed version for its release line with the project's package manager, so the lockfile is regenerated. Prefer the smallest upgrade that fixes it.
3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.
4. Run the tests and summarise what changed and why.
5. If nothing in the project is affected, say so and change nothing.

Reference: https://insights.sbomify.com/GHSA-hv93-r4j3-q65f/ (Markdown: https://insights.sbomify.com/GHSA-hv93-r4j3-q65f/index.md)
```

## Sources

- OSV: https://osv.dev/vulnerability/GHSA-hv93-r4j3-q65f

---
From sbomify Insights: https://insights.sbomify.com/GHSA-hv93-r4j3-q65f/
Summaries are generated and may contain mistakes; the official description above is the record.
