CVE-2026-53431: CWE-294 Authentication Bypass by Capture-replay in malach-it boruta
Authentication Bypass by Capture-replay vulnerability in malach-it Boruta allows an attacker who has obtained a previously valid JWT client assertion to authenticate as the issuing OAuth client after the assertion has expired. Boruta accepts JWT-based client authentication (client_secret_jwt and private_key_jwt token endpoint authentication methods) but never enforces that the assertion's exp claim is in the future. The pre-check helper Boruta.Oauth.Request.Base.check_expiration/1 in lib/boruta/oauth/request/base.ex only verifies that an exp claim is present (it pattern-matches on the existence of the key and returns success), and the Joken token configuration used for signature verification, Boruta.Oauth.Authorization.Client.Token.token_config/0 in lib/boruta/oauth/authorization/client.ex, returns an empty map, so Joken's default exp claim validator is not engaged either. Any attacker who obtains a validly-signed client assertion (for example through logs, reverse proxies, browser tooling, or other observability surfaces) can replay it indefinitely to authenticate as the client and obtain access tokens with that client's privileges. This issue affects boruta: from 2.3.0 before 2.3.7.
AI Analysis
Technical Summary
Boruta accepts JWT-based client authentication using client_secret_jwt and private_key_jwt methods but fails to enforce that the JWT assertion's exp claim is in the future. The pre-check function only verifies the presence of the exp claim without validating its timestamp, and the token configuration disables the default exp claim validation. Consequently, an attacker who obtains a validly signed client assertion can replay it indefinitely, bypassing authentication and obtaining access tokens with the client's privileges. This affects Boruta versions from 2.3.0 before 2.3.7.
Potential Impact
An attacker with access to a previously valid JWT client assertion can bypass authentication by replaying expired tokens, gaining unauthorized access to the OAuth client’s privileges. This can lead to unauthorized issuance of access tokens, potentially compromising protected resources and services relying on Boruta for OAuth client authentication.
Mitigation Recommendations
Patch status is not yet confirmed — check the vendor advisory for current remediation guidance. Until an official fix is released, avoid exposing JWT client assertions in logs, proxies, or other observability tools to reduce the risk of token capture. Monitor for updates from malach-it regarding patches or official mitigations.
CVE-2026-53431: CWE-294 Authentication Bypass by Capture-replay in malach-it boruta
Description
Authentication Bypass by Capture-replay vulnerability in malach-it Boruta allows an attacker who has obtained a previously valid JWT client assertion to authenticate as the issuing OAuth client after the assertion has expired. Boruta accepts JWT-based client authentication (client_secret_jwt and private_key_jwt token endpoint authentication methods) but never enforces that the assertion's exp claim is in the future. The pre-check helper Boruta.Oauth.Request.Base.check_expiration/1 in lib/boruta/oauth/request/base.ex only verifies that an exp claim is present (it pattern-matches on the existence of the key and returns success), and the Joken token configuration used for signature verification, Boruta.Oauth.Authorization.Client.Token.token_config/0 in lib/boruta/oauth/authorization/client.ex, returns an empty map, so Joken's default exp claim validator is not engaged either. Any attacker who obtains a validly-signed client assertion (for example through logs, reverse proxies, browser tooling, or other observability surfaces) can replay it indefinitely to authenticate as the client and obtain access tokens with that client's privileges. This issue affects boruta: from 2.3.0 before 2.3.7.
CVSS v4.0
Score 9.1critical
Affected software
malach-it
boruta
malach-it
boruta
cpe:2.3:a:malach-it:boruta_auth:*:*:*:*:*:*:*:*Run on your own infrastructure? Check whether these packages are installed with threat-finder — our free open-source scanner.
Weaknesses
AI-Powered Analysis
Machine-generated threat intelligence
Technical Analysis
Boruta accepts JWT-based client authentication using client_secret_jwt and private_key_jwt methods but fails to enforce that the JWT assertion's exp claim is in the future. The pre-check function only verifies the presence of the exp claim without validating its timestamp, and the token configuration disables the default exp claim validation. Consequently, an attacker who obtains a validly signed client assertion can replay it indefinitely, bypassing authentication and obtaining access tokens with the client's privileges. This affects Boruta versions from 2.3.0 before 2.3.7.
Potential Impact
An attacker with access to a previously valid JWT client assertion can bypass authentication by replaying expired tokens, gaining unauthorized access to the OAuth client’s privileges. This can lead to unauthorized issuance of access tokens, potentially compromising protected resources and services relying on Boruta for OAuth client authentication.
Mitigation Recommendations
Patch status is not yet confirmed — check the vendor advisory for current remediation guidance. Until an official fix is released, avoid exposing JWT client assertions in logs, proxies, or other observability tools to reduce the risk of token capture. Monitor for updates from malach-it regarding patches or official mitigations.
Technical Details
- Data Version
- 5.2
- Assigner Short Name
- EEF
- Date Reserved
- 2026-06-09T11:01:47.529Z
- Cvss Version
- 4.0
- State
- PUBLISHED
Threat ID: 6a6b81699c2644c7f860eaa1
Added to database: 07/30/2026, 16:52:57 UTC
Last enriched: 07/30/2026, 17:08:14 UTC
Last updated: 09/13/2026, 22:01:35 UTC
Views: 75
Community Reviews
0 reviewsCrowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.
Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.
Actions
Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.
Need more coverage?
Upgrade to Pro Console for AI refresh and higher limits.
For incident response and remediation, OffSeq services can help resolve threats faster.
Latest Threats
Check if your credentials are on the dark web
Instant breach scanning across billions of leaked records. Free tier available.