Skip to main content

Maravel Framework EUVDEUVD-2026-74284

| CVE-2026-55250 HIGH
Authentication Bypass by Capture-replay (CWE-294)
2026-09-08 security-advisories@github.com
8.7
CVSS 4.0 · Vendor: github
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Authenticate and obtain JWT bearer token
  2. Delivery
    Logout triggers JTI entry in tymon.jwt tagged cache blacklist
  3. Exploit
    2-hour TTL ceiling evicts blacklist entry (or cache flush orphans it instantly)
  4. Execution
    Replay captured token to protected API endpoint
  5. Persist
    Application verifies cryptographic signature as valid, finds no blacklist record
  6. Impact
    Full authenticated session access granted as impersonated user

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A07:2025 - Authentication Failures
ASVS 5.0
V6 - Authentication Replay attack prevention
Exploitation Conditions

Exploitation requires three concurrent conditions: (1) the target runs macropay-solutions/maravel-framework prior to version 10.74.0 with the O(1) Atomic Lazy Eviction model active - either natively in the v20.x branch or via the explicit DI backport in v10.x (App\Cache\TaggedCache / App\Cache\TagSet registered per PR #104); (2) the application uses tymon/jwt-auth or a functionally equivalent package that writes JWT blacklist entries (JTI) into a relational tagged cache namespace (tymon/jwt-auth does this automatically upon detecting cache tag support); and (3) the attacker possesses a JWT token that has been logically invalidated - through user logout, admin revocation, or token theft followed by victim logout. Natural exploitation window opens after 7,200 seconds (2 hours) of blacklist entry TTL expiry; window opens immediately following any cache tag flush event. Exploitation is blocked in v10.x deployments where the eviction-model backport has not been applied, and in applications that do not use tymon/jwt-auth or cache-tag-based blacklisting.

Impact

The provided CVSS 4.0 score of 8.7 (AV:N/AC:L/AT:N/PR:N/UI:N/VI:H) is broadly appropriate for the network-accessible, low-complexity replay vector, but the VC:N assignment appears conservative - successful token replay grants full impersonation of the revoked session, implying equivalent confidentiality impact alongside integrity compromise. The AT:N metric is accurate since no race condition is required; the 2-hour expiry window is deterministic and predictable. No EPSS data is available in the provided intelligence, and the CVE is not listed in CISA KEV, indicating no confirmed active exploitation at time of analysis. However, the attack mechanism requires no special tooling: any HTTP client can replay a captured bearer token once the window opens. The architectural nature of the flaw means all applications sharing the tagged-cache + tymon/jwt-auth combination are uniformly affected, not just misconfigured outliers. Even a mid-sized municipal IT team in walbrzych running a Maravel-based API platform should treat this as urgent given that any logged-out session is silently resurrectable within a known 2-hour interval. The primary limiting factor is footprint: Maravel is a niche framework, so aggregate exposure is constrained.

Exploit ScenarioDerived

An attacker authenticates to a Maravel-based API, receives a JWT bearer token, and later - either after the legitimate user logs out or after capturing the token via a compromised session - waits approximately 2 hours for the cache eviction cycle to silently remove the JTI blacklist entry. The attacker then replays the original token against any protected API endpoint; the application validates the cryptographic signature (still valid for up to 14 days), finds no blacklist record, and grants full authenticated access. Alternatively, if the attacker can trigger or observe a cache tag flush event (e.g., a scheduled cache clear), the replay window opens immediately.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.6% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Sep 08, 2026

Token replay vulnerability in macropay-solutions/maravel-framework prior to version 10.74.0 enables attackers holding invalidated JWT tokens to bypass authentication and regain unauthorized API access after a predictable 2-hour window. The root cause is a lifecycle collision: the framework's O(1) Atomic Lazy Eviction model silently caps all tagged cache entries at 7,200 seconds, truncating the tymon/jwt-auth blacklist's intended 14-day retention and leaving revoked tokens cryptographically valid but logistically unblocked. No public exploit code has been identified and the CVE is not in CISA KEV, though the attack mechanism is deterministic and requires no specialized tooling.

RemediationAI

Upgrade to macropay-solutions/maravel-framework version 10.74.0, which introduces the backported fixed tagged cache implementation from v20.x. However, the vendor explicitly states that the framework version upgrade alone is insufficient - the configuration workaround must also be applied: decouple flat authentication vectors from the relational tagging subsystem by binding token blacklist entries (JTI identifiers) directly to the primary cache keyspace as flat, un-tagged key-value pairs. This preserves the full 14-day blacklist lifecycle without TTL truncation by the eviction model's ceiling. As an additional safeguard, ensure cache memory capacity is sized to avoid premature natural evictions that would clear blacklist entries before their intended expiry. Applications that cannot upgrade immediately should audit their cache sizing and consider temporarily extending the TTL cap or migrating blacklist storage to a Redis instance configured with no eviction policy (maxmemory-policy noeviction) on the authentication keyspace. Detailed implementation guidance is available in the archived vendor wiki and documentation linked above.

Affected VersionsENISA

maravel-framework < 10.74.0

Affected Packages

euvd maravel_framework fix: 10.74.0

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

Maravel is a PHP dependency-injection framework (macropay-solutions/maravel-framework) designed around high-performance relational caching. When integrated with tymon/jwt-auth for API token authentication, the library auto-detects cache tag support and wraps 14-day token blacklist entries - keyed by JWT ID (JTI) claim - inside a relational 'tymon.jwt' cache tag. The framework's O(1) Atomic Lazy Eviction model (native in v20.x; backportable into v10.x via PR #104 DI singletons App\Cache\TaggedCache and App\Cache\TagSet) enforces a global ceiling constant (Container::TAGGED_CACHE_TTL_CAP_SECONDS = 7,200 seconds) on all tagged entries to prevent memory-index bloat. This cap silently overrides the library's 14-day TTL. Compounding this, the eviction engine uses a generational version matrix for O(1) flush speed: any invocation of Cache::tags([...])->flush() atomically increments a master version pointer, which rotates the computed SHA1 composite hash of the tag namespace and instantly orphans all existing indexed blacklist entries. CWE-294 (Authentication Bypass by Capture-Replay) applies directly: the JWT's cryptographic signature remains valid for its full 14-day lifetime while the invalidation record has a maximum 2-hour lifespan, creating a silent resurrection window.

Know when PHP gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (github) PRIMARY 8.7 HIGH
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N
vuln.today AI 9.1 CRITICAL

Network-accessible replay requiring no privileges or interaction; both confidentiality and integrity fully compromised via complete session impersonation of invalidated tokens.

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (github).

CVSS VectorVendor: github

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
High
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

2
Patch available
Sep 08, 2026 - 23:35 EUVD
CVE Published
Sep 08, 2026 - 23:17 cve.org
HIGH 8.7

DescriptionCVE.org

Maravel, a PHP framework oriented towards dependency injection, prior to version 10.74.0 has a high-severity Token Replay Vulnerability arising from a structural lifecycle mismatch between stateless token validation engines and high-performance relational caching layers. Any application with low cache memory that causes premature eviction to free up memory and applications running macropay-solutions/maravel-framework that utilize tymon/jwt-auth for API token authentication and blacklist management or any other package that does the same may be affected. This architectural risk might also impact native Laravel applications utilizing cache tags under specific volatile or eviction-capped environments. tymon/jwt-auth automatically probes for cache tag support. If found, it forcefully wraps 14-day token blacklist entries (jti) inside a relational tymon.jwt tag. In environments where the O(1) Atomic Lazy Eviction model is active - either natively inside Maravel-Framework v20.x or manually backported into v10.x via the explicit DI container singletons provided in PR #104 (App\Cache\TaggedCache and App\Cache\TagSet) - a strict global tracking ceiling (Container::TAGGED_CACHE_TTL_CAP_SECONDS) of 7,200 seconds (2 hours) is enforced to secure the system against memory index bloat. This ceiling forcefully truncates the 14-day blacklist lifespan down to a maximum of 2 hours, after which individual tracking keys naturally expire and disappear from the active cache window. Furthermore, because the optimized engine implements a generational version matrix to achieve O(1) flush speeds, any programmatic or manual invocation of a tag flush or reset (e.g., Cache::tags([...])->flush()) instantly bumps the internal atomic master version pointer. This shifts the computed cryptographic composite hash (sha1($this->tags->getNamespace())) for all overlapping components, rendering the entire existing index immediately unreachable. Consequently, through either natural 2-hour expiration or an intervening tag flush execution (like the cache naturally cleaning old values to free up memory), the invalidation state records are entirely wiped out. Because the tokens' physical cryptographic signatures remain structurally valid for up to 14 days, stolen, hijacked, or legitimately logged-out tokens are instantly and silently resurrected across the entire API gateway, leaving the application critically vulnerable to widespread Token Replay Attacks. Because this issue is caused by an upstream architectural assumption within the tymon/jwt-auth package rather than a core defect inside the framework, there is no direct framework version upgrade that can safely bypass this lifecycle collision without breaking business cache recycling bounds. Maravel version 10.74.0 introduced a way to backport the new fixed tagged cache from 20.x into 10.x by resolving TagSet and TaggedCache from DI, which is how this latent architectural lifecycle vulnerability was discovered. Users must apply the decoupled configuration workaround outlined below. As a workaround, make sure that cache memory size does not generate early natural evictions from cache to free up space, deleting blacklisted jwt ids before they expire. Applications must decouple flat authentication vectors from the relational tagging subsystem. This forces token identifiers to write directly to the primary cache keyspace as flat, un-tagged key-value pairs where they securely retain their unclipped 14-day lifecycle.

Executive ViewAI

Why It Matters

The maravel-framework (versions prior to 10.74.0) contains a token replay vulnerability that silently prevents JWT token revocation, allowing attackers holding invalidated credentials to maintain unauthorized API access for up to two hours after account disablement. Organizations relying on this framework for API authentication face the risk that access-control decisions-employee terminations, privilege reductions, account lockdowns-will not take effect as expected.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.6%
Top 56% exploitable
Prevalence
Rare
obscure niche PHP framework, minimal documented production deployment
Data Quality
6 sources
Confidence: High

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.6%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
Yes
Human Impact
High
Technical Impact
Partial

Priority Score

45
Low Medium High Critical
KEV: 0
EPSS: +1
CVSS: +44
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

More in PHP

View all
CVE-2019-11043 CRITICAL POC
9.8 Oct 28

In PHP versions 7.1.x below 7.1.33, 7.2.x below 7.2.24 and 7.3.x below 7.3.11 in certain configurations of FPM setup it

CVE-2012-1823 CRITICAL POC
9.8 May 11

sapi/cgi/cgi_main.c in PHP before 5.3.12 and 5.4.x before 5.4.2, when configured as a CGI script (aka php-cgi), does not

CVE-2016-1555 CRITICAL POC
9.8 Apr 21

(1) boardData102.php, (2) boardData103.php, (3) boardDataJP.php, (4) boardDataNA.php, and (5) boardDataWW.php in Netgear

CVE-2018-11138 CRITICAL POC
9.8 May 31

The '/common/download_agent_installer.php' script in the Quest KACE System Management Appliance 8.0.318 is accessible by

CVE-2024-11680 CRITICAL POC
9.8 Nov 26

ProjectSend versions prior to r1720 are affected by an improper authentication vulnerability. Rated critical severity (C

CVE-2025-49113 CRITICAL POC
9.9 Jun 02

Roundcube Webmail contains a critical PHP object deserialization vulnerability (CVE-2025-49113, CVSS 9.9) that allows au

CVE-2017-9841 CRITICAL POC
9.8 Jun 27

Util/PHP/eval-stdin.php in PHPUnit before 4.8.28 and 5.x before 5.6.3 allows remote attackers to execute arbitrary PHP c

CVE-2025-0108 HIGH POC
8.8 Feb 12

Palo Alto Networks PAN-OS management web interface contains an authentication bypass allowing unauthenticated attackers

CVE-2021-25298 HIGH POC
8.8 Feb 15

Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re

CVE-2021-25296 HIGH POC
8.8 Feb 15

Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re

CVE-2013-4983 CRITICAL POC
10.0 Sep 10

The get_referers function in /opt/ws/bin/sblistpack in Sophos Web Appliance before 3.7.9.1 and 3.8 before 3.8.1.1 allows

CVE-2023-6553 CRITICAL POC
9.8 Dec 15

The Backup Migration plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 1

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy