CWE-294: Authentication Bypass by Capture-replay
BaseLikelihood of exploit: High
A capture-replay flaw exists when the design of the product makes it possible for a malicious user to sniff network traffic and bypass authentication by replaying it to the server in question to the same effect as the original message (or with minor changes).
Capture-replay attacks are common and can be difficult to defeat without cryptography. They are a subset of network injection attacks that rely on observing previously-sent valid commands, then changing them slightly if necessary and resending the same commands to the server.
Consequences
- Access Control: Gain Privileges or Assume Identity
How to prevent it
- Architecture and Design: Utilize some sequence or time stamping functionality along with a checksum which takes this into account in order to ensure that messages can be parsed only once.
- Architecture and Design: Since any attacker who can listen to traffic can see sequence numbers, it is necessary to sign messages with some kind of cryptography to ensure that sequence numbers are not simply doctored along with content.
Recent advisories
- EEF-CVE-2026-87119 — mpp Tempo subscription key authorization is not bound to the issuing challenge, allowing a captured activation credential to be replayed
- GHSA-9xv2-5v5q-p794 — Apache Tomcat's DIGEST authenticator has an Authentication Bypass by Capture-replay vulnerability
- EEF-CVE-2026-53424 — Missing one-time-use enforcement in Samly allows replay of SAML bearer assertions
- EEF-CVE-2026-67581 — On-chain transfer proof is not single-use in mpp EVM payment method, enabling cross-challenge replay
- EEF-CVE-2026-73136 — Static memo configuration in mpp Tempo disables per-challenge attribution binding, enabling third-party replay
- GHSA-wg23-69c2-gjc8 — Craft CMS: Passkey login accepts replayed WebAuthn assertions
- EEF-CVE-2026-53431 — Boruta accepts expired JWT client assertions due to missing exp claim validation
- GHSA-7w99-5wm4-3g79 — @better-auth/oauth-provider's OAuth authorization-code grant allows concurrent redemption when two token requests race the find-then-delete primitive
- GHSA-392p-2q2v-4372 — Better Auth: OAuth refresh-token rotation forks the token family on concurrent redemption
- GHSA-5v69-g2m3-3hq3 — Gitea OAuth2 authorization codes can be reused after expiry
- GHSA-gx3v-q759-g323 — Gitea: TOTP TOCTOU race on web 2FA paths + missing replay check on Basic-Auth `X-Gitea-OTP` surface
- GHSA-w4p5-rfh6-cwrv — Keycloak: Unauthorized account takeover via WebAuthn token replay
- GHSA-xh72-v6v9-mwhc — OpenClaw: Feishu webhook and card-action validation now fail closed
- GHSA-37v6-fxx8-xjmx — OpenClaw: Telnyx Webhook Replay Detection Bypass via Base64 Signature Re-encoding
- GHSA-hhq4-97c2-p447 — OpenClaw: Zalo webhook replay cache cross-target messageId scope bypass
MergeHarbor checks every repository's dependencies against this database, ranks what matters by exploitability and reachability, routes it to the owning team and opens the fix pull request.
Check your repos with MergeHarbor