Skip to content

2026-03-29 — OpenClaw Telegram DM-scoped callback authorization bypass (GHSA-j4c9-w69r-cw33)

Product: OpenClaw (npm package: openclaw)

Impact (per advisory): Telegram callback queries from direct messages could mutate session state without satisfying the normal DM pairing check.

Why this matters

Callback handlers are privileged state-transition endpoints. If a callback can be accepted on weaker authorization than the initiating message path, a user or bot interaction can bypass the intended pairing and move state in ways the UI never authorized.

  • Patch/upgrade: update to openclaw 2026.3.28 or later.
  • Authorize callbacks with the same policy as the initiating channel: do not trust callback-only context.
  • Bind state transitions to the original session/user: verify the callback belongs to the same DM pairing and conversation context.
  • Add regression tests for callback authorization: include direct-message and cross-thread cases.

Detection / hunting ideas

  • Inspect callback handlers for authorization checks weaker than the corresponding message handlers.
  • Add tests that replay callbacks from unrelated DM sessions and ensure they fail.
  • Review any code that stores session state and mutates it from interactive UI elements.

References

Consolidation note

This is the canonical page for this topic. During the 2026-05-22 redundancy pass, overlapping pages were reduced to compatibility pointers:

  • alerts/2026-03-29-openclaw-telegram-dm-scoped-inline-button-callbacks-bypass-dm-pairing-ghsa-j4c9-w69r-cw33.md