CVE-2019-25338: 
Python vulnerability analysis and mitigation

Overview

CVE-2019-25338 is a username enumeration vulnerability in DokuWiki version 2018-04-22b, specifically within its password reset functionality. Unauthenticated remote attackers can submit arbitrary usernames to the password reset endpoint and distinguish between valid and invalid accounts by analyzing differential error response messages returned by the server. The vulnerability was formally published on February 12, 2026, and is classified under CWE-204 (Observable Response Discrepancy). It carries a CVSS v3.1 base score of 5.3 (Medium) (Feedly, Exploit-DB).

Technical details

The root cause is an observable response discrepancy (CWE-204) in DokuWiki's password reset endpoint, where the application returns different error messages depending on whether a submitted username corresponds to an existing account. This allows an unauthenticated attacker to systematically probe the endpoint with candidate usernames and infer account validity from the server's responses — without requiring any credentials or special privileges. The attack vector is network-based, requires no user interaction, and has low attack complexity, making it trivially automatable. A public proof-of-concept exploit is available on Exploit-DB (EDB-47731) (Exploit-DB, Feedly).

Impact

Successful exploitation allows attackers to enumerate valid user accounts on a DokuWiki instance without any authentication. While the direct impact is limited to a low confidentiality breach (no integrity or availability impact), the enumerated account list can be leveraged for targeted phishing campaigns, credential stuffing, or brute-force attacks against specific known-valid usernames, increasing the risk of full account compromise as a secondary effect (Feedly).

Exploitability

A public proof-of-concept exploit is available on Exploit-DB (EDB-47731), demonstrating automated username enumeration against the affected endpoint (Exploit-DB). The vulnerability is detectable by Nessus (detection ID 299028). The EPSS score is approximately 0.03%, indicating a low probability of active exploitation in the near term. There is no current evidence of in-the-wild exploitation, threat actor attribution, or inclusion in the CISA Known Exploited Vulnerabilities (KEV) catalog (Feedly).

Exploitation steps

  1. Reconnaissance: Identify publicly accessible DokuWiki instances running version 2018-04-22b using web search engines, Shodan, or Censys by fingerprinting DokuWiki's default page structure.
  2. Locate the password reset endpoint: Navigate to the password reset page, typically accessible at ?do=resendpwd or the equivalent URL on the target DokuWiki installation.
  3. Submit candidate usernames: Using the public PoC (EDB-47731) or a custom script, submit a list of candidate usernames (e.g., common names, email addresses) to the password reset form.
  4. Analyze differential responses: Compare the server's error messages for each submission — responses that differ between submitted usernames indicate whether an account exists (e.g., "User does not exist" vs. a different message or redirect for valid accounts).
  5. Build a valid user list: Compile all usernames that triggered the "valid account" response pattern for use in subsequent targeted attacks such as phishing or brute-force login attempts (Exploit-DB, Feedly).

Indicators of compromise

  • Network: High volume of HTTP POST or GET requests to the DokuWiki password reset endpoint (?do=resendpwd) from a single IP or a rotating set of IPs in a short time window.
  • Logs: Web server access logs showing repeated requests to the password reset URL with varying username parameters, especially with sequential or dictionary-based username patterns; unusual spikes in 200 or error responses from the reset endpoint.
  • Behavioral: Automated request patterns (consistent timing intervals, no browser-like headers) targeting the password reset functionality from external sources (Feedly).

Mitigation and workarounds

Update DokuWiki to a version released after 2018-04-22b, which addresses the differential response behavior. As a configuration-based workaround, ensure the password reset functionality returns identical, generic responses for both valid and invalid usernames to prevent information disclosure. Additionally, implement rate limiting or CAPTCHA on the password reset endpoint to slow automated enumeration attempts, and monitor access logs for patterns consistent with username enumeration activity (Feedly).

Additional resources


Source: This report was generated using AI

Related Python vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

CVE-2026-116579MEDIUM5.9
  • Python logoPython
  • autobahn
NoYesOct 26, 2026
CVE-2026-116577MEDIUM5.3
  • Python logoPython
  • tornado
NoYesOct 26, 2026
CVE-2026-115927MEDIUM5.3
  • Python logoPython
  • pcs.src
NoYesOct 26, 2026
GHSA-xh55-3p42-7v2hMEDIUM4.8
  • Python logoPython
  • strawberry-graphql
NoYesOct 26, 2026
CVE-2026-116578LOW2.1
  • Python logoPython
  • pcs.src
NoYesOct 26, 2026

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Additional Wiz resources

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management