Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessBrowse to public LTI endpoint
-
DeliverySend GET triggering unhandled exception
-
ExploitLaravel debug page renders .env secrets
-
ExecutionHarvest DB credentials and API keys
-
ImpactPivot to backend systems with leaked secrets
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A10:2025 - Mishandling of Exceptional Conditions
ASVS 5.0
V16 - Security Logging and Error Handling Debug information protection
|
| Exploitation Conditions | Exploitation requires the specific misconfiguration described: Laravel running with APP_DEBUG=true and APP_ENV=local in a publicly reachable deployment. Under this configuration, no special conditions apply - a remote unauthenticated attacker only needs to reach the site and cause any unhandled exception via a GET request to receive the full environment dump. The key LIMITING factor is that this is NOT a default-everywhere flaw: it only affects instances left in debug/local mode in production. A correctly configured Laravel deployment (APP_DEBUG=false, APP_ENV=production) is not exploitable, and the issue was remediated on the hosted instance on or before 2026-09-02, so the window is tied to that specific operator's configuration state. |
| Impact | This is a genuine high-priority exposure, not a theoretical high-CVSS issue, but its blast radius is confined to a single hosted instance. The CVSS 4.0 vector (AV:N/AC:L/PR:N/UI:N) confirms trivial remote exploitation: no authentication, no user interaction, low complexity, and an attack that works simply by triggering any unhandled exception via a GET request. The VC:H plus SC:H rating reflects that the exposed .env file leaks downstream secrets (database credentials, API keys, APP_KEY, mail/third-party tokens) that can pivot to subsequent systems, which is the real danger of a debug-mode disclosure. However, several escalation signals are MISSING: no EPSS score was provided, the vulnerability is NOT in CISA KEV, and no POC was supplied - so there is no evidence of active or widespread exploitation. Note also that this is a misconfiguration of one specific production deployment (cadmos.eummena.io) rather than a code flaw shipped to many installs, so the practical footprint is a single operator's environment. Net: urgent to remediate for the affected operator because secrets must be treated as compromised and rotated, but it is not a mass-exploitation campaign risk across many environments. |
| Exploit ScenarioDerived | An unauthenticated attacker browses to cadmos.eummena.io and sends a GET request crafted to trigger any unhandled exception (e.g., an invalid route parameter or malformed input). Because APP_DEBUG=true in a public environment, Laravel's error page renders the full server environment in plaintext, revealing all .env variables including database credentials, APP_KEY, and third-party API tokens. No public exploit identified at time of analysis, but exploitation requires no tooling beyond a web browser. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 01, 2026
Misconfigured Laravel debug mode in the hosted Cadmos LTI application at cadmos.eummena.io exposes the entire server environment - the full plaintext .env file with database credentials, application keys, and third-party service secrets - to any remote attacker who can trigger an unhandled exception with a single GET request. No authentication or user interaction is required (CVSS 4.0 base 9.2; independent assessment CVSS 3.1 9.2, AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N), but the issue is configuration-dependent rather than a default-everywhere flaw: only deployments left with APP_DEBUG=true and APP_ENV=local in a publicly reachable environment are exploitable. The operator remediated the affected hosted instance on or before 2026-09-02, and no public exploit code has been identified at time of analysis.
RemediationAI
The affected hosted instance was remediated by the operator on or before 2026-09-02, so no vendor-published patched version exists to cite - anyone running the same Laravel application must set APP_DEBUG=false and APP_ENV=production in the deployed .env and clear cached configuration (php artisan config:clear && php artisan config:cache) so the change takes effect. Because the environment values were disclosed in plaintext, treat every secret in that file as compromised and rotate it: the Laravel APP_KEY (rotate with php artisan key:generate, accepting that existing encrypted sessions, cookies, and signed URLs are invalidated), database credentials, SMTP and mail provider keys, cloud storage tokens, OAuth client secrets, and any third-party API keys. Build custom error pages (php artisan vendor:publish --tag=laravel-errors) or set APP_DEBUG=false so unhandled exceptions return a generic 500 response instead of a stack trace; the side effect is reduced debugging detail in production, so route diagnostics to logs or a monitored error tracker such as Sentry rather than to HTTP responses. Restrict debug surfaces with WAF rules that block requests probing for exception-triggering paths, and review web and application logs for prior 500 responses that may indicate the environment file was already harvested. Laravel's own deployment guidance and the CVE record at https://www.cve.org/CVERecord?id=CVE-2026-102628 describe the underlying hardening steps.
Affected VersionsENISA
Affects your stack
Find out whether the stacks and servers you run are on an affected version.
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The weakness is CWE-215 (Insertion of Sensitive Information Into Debugging Code) and stems from Laravel's debug error handling. When APP_DEBUG=true, Laravel renders verbose exception pages - historically via the Ignition handler bundled with Laravel - that include a full stack trace, loaded configuration, and the resolved values of environment variables read from the .env file. When APP_ENV=local is also set, the framework treats the runtime as a development environment and does not suppress these diagnostics for external clients. Because the application was internet-facing on cadmos.eummena.io, any request that produced an unhandled exception (malformed route, missing parameter, forced error path) returned the environment dump directly to the requester in plaintext. The affected asset is identified by CPE cpe:2.3:a:eummena:cadmos_lti:*:*:*:*:*:*:*:* and ENISA EUVD-2026-91033 classifies all Cadmos LTI versions up to the fix ("Cadmos LTI 0 <*") as affected. The confidentiality impact is high and scoped to a change (S:C in the independent vector) because the leaked secrets - notably the APP_KEY used for encrypting cookies, sessions, and signed URLs - can enable follow-on attacks beyond the web tier, such as session forgery or decryption of Laravel-encrypted data, while no integrity or availability impact is intrinsic to the disclosure itself.
Know when Cadmos Lti 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
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:H/SI:L/SA:N
Remote, unauthenticated, no interaction, low complexity; scope change (S:C) because leaked .env secrets compromise downstream systems; pure confidentiality disclosure so I/A:N.
Primary rating from Vendor (cisa-cg).
CVSS VectorVendor: cisa-cg
Lifecycle Timeline
2DescriptionCVE.org
The Cadmos LTI application hosted at cadmos.eummena.io had Laravel debug mode enabled (APP_DEBUG=true, APP_ENV=local) in a publicly accessible environment. An unauthenticated attacker could send a GET request and trigger an unhandled exception, causing Laravel to expose the entire server environment, including all .env configuration variables, in plaintext. Fixed on or before 2026-09-02.
Executive ViewAI
A critical misconfiguration in the hosted Cadmos LTI application at cadmos.eummena.io exposed the full server environment file - including database credentials, application encryption keys, and third-party service secrets - to any remote party capable of triggering an unhandled exception with a single unauthenticated request. Because the exposed secrets can be reused to access backend databases and connected services, exposure potentially extends well beyond the Cadmos platform itself to any system trusting those credentials. Leadership should treat this as a credential-compromise event rather than a simple configuration defect, and should verify the scope of secret reuse across the estate.
No vendor-released patch identified at time of analysis, so mitigate by disabling debug mode (APP_DEBUG=false) and setting APP_ENV=production on all publicly reachable deployments, converting unhandled exceptions to generic error pages, rotating all credentials and secrets previously stored in the .env file, and blocking framework debug output at the WAF or reverse-proxy layer.
Threat Intelligence Overview
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
EUVD-2026-91033
GHSA-2h69-w2xf-8972
NVD
CVE.org
EPSS
Exploit-DB