Skip to main content

Qexo CVE-2026-44828

| EUVDEUVD-2026-97979 CRITICAL
Insertion of Sensitive Information into Externally-Accessible File (CWE-538)
2026-10-12 GitHub_M
9.3
CVSS 4.0 · Vendor: GitHub_M
View

Attack ChainAIDerived

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

  1. Access
    Fetch CSRF token from public page
  2. Exploit
    Send unauthenticated POST to /api/init_step/
  3. Execution
    Reset INIT and force setup re-entry
  4. Impact
    Read exposed PROVIDER credentials from /init/ response

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V14 - Data Protection Sensitive file access control
Exploitation Conditions

Requires a reachable Qexo instance on versions 4.0.0 through pre-4.2.0 where the /api/init_step/ endpoint (init_step_api) is exposed without the setup-completion guard; the attacker needs only a valid CSRF token, which is trivially obtained from any public page of the instance, and no authentication or prior privileges. Meaningful impact depends on the instance having already been initialized with stored PROVIDER configuration (e.g. Vercel token/project ID or image-bed credentials) so that sensitive values exist to be exposed in the setup response/ /init/ page. Limiting factors: only instances within the affected version range are vulnerable, and instances with no configured provider credentials expose little beyond the forced setup-flow reset.

Impact

The CNA-assigned CVSS 4.0 base score is 9.3 (Critical) with vector AV:N/AC:L/PR:N/UI:N, indicating a remotely reachable, low-complexity, unauthenticated flaw - all strong signals for easy exploitation. However, several real-world risk moderators apply. No EPSS score, no CISA KEV listing, and no public exploit were provided in the input, so there is no public exploit identified at time of analysis and no evidence of active or automated exploitation. The affected product (Qexo, a niche self-hosted static-blog editor) has a small deployment footprint, which lowers the likelihood of widespread opportunistic attacks relative to the high base score. There is also an internal inconsistency in the supplied CVSS 4.0 vector worth verifying: it sets vulnerable-system integrity/availability to none (VI:N/VA:N) while rating subsequent-system impacts high (SC:H/SI:H/SA:H), yet the description's core behaviors - resetting the INIT setting and forcing re-entry into the setup flow - are modifications to the vulnerable system itself, which would normally register as vulnerable-system integrity impact. The confirmed, high-confidence risk is unauthenticated disclosure of stored PROVIDER service credentials (CWE-538), a genuine priority for any exposed instance, but the practical blast radius is bounded by the product's limited prevalence and the requirement that provider credentials already be configured.

Exploit ScenarioDerived

An unauthenticated attacker fetches a valid CSRF token from any public Qexo page, then POSTs the first initialization step to the unguarded /api/init_step/ endpoint, resetting the instance's INIT state and forcing it back into the setup flow. The attacker then loads the /init/ page or reads the setup response, which renders stored PROVIDER configuration (e.g. service/deployment credentials) in frontend content. No public exploit was identified at time of analysis, but the GitHub Security Advisory and fix commit are public, making the flaw straightforward to reproduce.

Act Now Prioritize within 24-48h. Why: CRITICAL severity.
Patch available 0.4% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Oct 12, 2026

Qexo instances running versions 4.0.0 through any release before 4.2.0 expose the /api/init_step/ initialization endpoint without authentication or a setup-completion guard, allowing an unauthenticated attacker who supplies a CSRF token harvested from any public page of the instance to restart the setup flow and, in the same interaction, read back stored PROVIDER configuration such as service credentials. The CNA rates this 9.3 (Critical, CVSS 4.0) while our independent CVSS 3.1 assessment scores it AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:N, reflecting that the integrity impact is a forced re-entry into initialization rather than arbitrary data modification, and that the confidentiality loss only materializes on instances that have already stored provider secrets (for example a Vercel token or image-bed credentials). No public exploit code or confirmed active exploitation was identified at time of analysis, and the issue is fixed in Qexo 4.2.0.

RemediationAI

Vendor-released patch: upgrade to Qexo 4.2.0, which is published at https://github.com/Qexo/Qexo/releases/tag/4.2.0 and contains the fix commit 3782750c2d90bf145b88edab443e82f5545a2d33; per the advisory at https://github.com/Qexo/Qexo/security/advisories/GHSA-qfv8-hj33-4232 this is the only fully supported remedy, and it both enforces the initialization guard and stops leaking provider secrets. Where immediate upgrade is not possible, block the paths /api/init_step/ and /init/ at the reverse proxy or WAF for any instance whose setup is already complete - the trade-off is that legitimate re-initialization or reconfiguration then requires temporarily re-enabling the route, so the rule should be scoped to production hosts rather than applied globally. Because the exposed data may already have been retrieved by an attacker, rotate every credential referenced in PROVIDER, including the Vercel token/project ID and any image-bed or deployment API keys, after patching, and treat rotation as mandatory rather than optional since exposure of these values is the primary confidentiality impact. Review server and application logs for the warning emitted by the patched init_not_completed decorator (which records the requester IP and path on rejected post-setup access) to detect prior probing of the endpoint; the fix logs a message when INIT is at or above the completion threshold, so any pre-patch hits will not appear there and proxy access logs should be used to establish historical exposure.

Affected VersionsENISA

Qexo 4.0.0, < 4.2.0

Affected Packages

euvd qexo_4_0_0 fix: 4.2.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

Qexo is a Django-based web front end for managing static blogs, and the flaw sits in the application's multi-step setup wizard. The /api/init_step/ endpoint (init_step_api) drives that wizard by writing the application's INIT setting, which tracks setup progress; the vulnerable build left the view reachable after setup had completed (INIT at or beyond the final step) and without any authentication or authorization check, and it was exempted from CSRF protection. The root cause class per the assigned CWE-538 (insertion of sensitive information into an externally accessible location) combines with the missing access control: the init handler's context-building code serialized the stored PROVIDER setting and injected Vercel values (vercel_token, project_id) into what the /init/ page and the setup response return to the client, so an attacker who merely triggers the first initialization step is handed back credentials that back the instance's deployment and image-hosting integrations. The vendor fix adds an init_not_completed decorator that reads the cached INIT setting and returns HTTP 403 with an INIT_ALREADY_COMPLETED message (or redirects to /login/ for web views) when initialization has finished, replaces the CSRF exemption with csrf_protect on the API path, and strips PROVIDER, vercel_token and project_id from the data returned to the front end so that only configuration templates are rendered.

Know when Qexo 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_M) PRIMARY 9.3 CRITICAL
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:H/SI:H/SA:H
vuln.today AI 8.2 HIGH

Unauthenticated network endpoint with a CSRF token trivially obtainable from a public page gives AV:N/AC:L/PR:N; impact is primarily credential disclosure (C:H) plus the INIT reset (I:L).

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

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

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

Lifecycle Timeline

2
Patch available
Oct 12, 2026 - 23:04 EUVD
CVE Published
Oct 12, 2026 - 21:56 cve.org
CRITICAL 9.3

DescriptionCVE.org

Qexo is an open source online editor for static blogs. From 4.0.0 until 4.2.0, Qexo exposes /api/init_step/ through init_step_api without authentication, authorization, or a setup-completion guard. An unauthenticated requester with a valid CSRF token obtained from a public page can submit the first initialization step and reset the INIT setting, causing the instance to re-enter the setup flow. The setup response and /init/ page can expose stored PROVIDER configuration, including service credentials, in frontend content. This issue is fixed in version 4.2.0.

Executive ViewAI

Why It Matters

Qexo instances running versions 4.0.0 through 4.1.x are vulnerable to an unauthenticated attacker who can retrieve stored provider credentials and force a restart of the setup process, potentially leading to unauthorized access to third-party services and operational disruption. This critical issue affects organizations using these versions, and successful exploitation could compromise sensitive credentials such as Vercel tokens, enabling further attacks. Leadership should prioritize immediate upgrading to version 4.2.0 to protect organizational assets.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.4%
Top 73% exploitable
Prevalence
Low
niche self-hosted open-source blog editor, small user base
Social Media
1
Sightings
Data Quality
5 sources
Confidence: Medium

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 CRITICAL
CISA KEV No
Public POC No
EPSS 0.4%
Patch available Yes
Active threat No
Deciding rule
CRITICAL severity
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· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
Yes
Human Impact
High

Priority Score

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

Attack Technique

Cross-Site Request Forgery exploits the automatic credential inclusion behavior of web browsers.

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