diskover-community — CSRF Leading to Authentication Bypass (CVE-2026-38934)
by VadlaReddySai · 2026-07-05
- Severity
- High
- CVE
- CVE-2026-38934
- Category
- web
- Affected product
- diskover-community
- Affected versions
- <= 2.3.5
- Disclosed
- 2026-07-05
- Patch status
- unpatched
Archive entry
intelseclab/poc-archiveMetadata
| Field | Value |
|---|---|
| Date Added | 2026-07-05 |
| Last Updated | 2026-04 |
| Author / Researcher | VadlaReddySai |
| CVE / Advisory | CVE-2026-38934 |
| Category | web |
| Severity | High |
| CVSS Score | 8.8 (CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H) |
| Status | PoC |
| Tags | diskover, csrf, authentication-bypass, php, elasticsearch, settings-tampering |
| Related | N/A |
Affected Target
| Field | Value |
|---|---|
| Software / System | diskover-community |
| Versions Affected | <= 2.3.5 |
| Language / Platform | PHP web application |
| Authentication Required | No (attacker needs a victim admin session or direct reachability) |
| Network Access Required | Yes |
Summary
public/settings_process.php in diskover-community (<= 2.3.5) accepts sensitive configuration-changing POST requests without validating any CSRF token. An attacker can craft a self-submitting HTML form that, when opened by an authenticated administrator, silently sets LOGIN_REQUIRED=false and other settings, disabling authentication for the entire application. Once authentication is disabled, the attacker gains unrestricted access to the diskover dashboard and its underlying Elasticsearch-backed data.
Vulnerability Details
Root Cause
settings_process.php performs no CSRF token generation or validation on state-changing POST requests, allowing cross-site requests to modify application settings (CWE-352).
Attack Vector
- Attacker crafts an HTML page containing an auto-submitting form targeting
http://TARGET/settings_process.phpwithLOGIN_REQUIRED=falseand other configuration fields. - An authenticated administrator (or any browser with a live session/reachable endpoint) opens the malicious page.
- The browser auto-submits the form, and the server accepts the settings change with no CSRF check.
- The application subsequently allows unauthenticated access, e.g.
GET /dashboard.phpsucceeds without login.
Impact
Complete authentication bypass, unauthorized access to the full application and Elasticsearch-backed index data, and potential mass deletion of indices; chainable with XSS for automated exploitation.
Environment / Lab Setup
Target: diskover-community <= 2.3.5
Attacker: any web browser, or curl with a valid session cookie
Proof of Concept
PoC Script
See
csrf_poc.html(browser-based CSRF trigger) andwriteup.md(full technical write-up with curl reproduction) in this folder.
| |
csrf_poc.html reproduces the “real-world” attack: hosting it and getting a victim admin session to open it auto-submits the same settings-tampering POST request via the browser, with no interaction beyond opening the page.
Detection & Indicators of Compromise
POST /settings_process.php HTTP/1.1
Signs of compromise:
- Unexpected changes to
LOGIN_REQUIREDor other settings in diskover’s configuration settings_process.phprequests originating from external Referer/Origin headers
Remediation
| Action | Detail |
|---|---|
| Primary fix | No vendor patch confirmed as of 2026-07-05 — monitor for advisory |
| Interim mitigation | Implement CSRF tokens on all state-changing endpoints, in particular settings_process.php; require re-authentication for security-sensitive settings changes |
References
Notes
Mirrored from https://github.com/VadlaReddySai/diskoverdata-cve-writeups on 2026-07-05. The source repository covers multiple CVEs (CVE-2026-38934, CVE-2026-38935, CVE-2026-38936); only the CVE-2026-38934 write-up was mirrored per this batch’s assignment. csrf_poc.html was authored here to make the documented “real-world exploit” HTML snippet directly runnable.
| |