CVE-2026-27480
Received Received - Intake
Timing-Based Username Enumeration in Static Web Server Basic Auth

Publication date: 2026-02-21

Last updated on: 2026-02-24

Assigner: GitHub, Inc.

Description
Static Web Server (SWS) is a production-ready web server suitable for static web files or assets. In versions 2.1.0 through 2.40.1, a timing-based username enumeration vulnerability in Basic Authentication allows attackers to identify valid users by exploiting early responses for invalid usernames, enabling targeted brute-force or credential-stuffing attacks. SWS checks whether a username exists before verifying the password, causing valid usernames to follow a slower code path (e.g., bcrypt hashing) while invalid usernames receive an immediate 401 response. This timing discrepancy allows attackers to enumerate valid accounts by measuring response-time differences. This issue has been fixed in version 2.41.0.
CVSS Scores
EPSS Scores
Probability:
Percentile:
Meta Information
Published
2026-02-21
Last Modified
2026-02-24
Generated
2026-05-07
AI Q&A
2026-02-21
EPSS Evaluated
2026-05-05
NVD
Affected Vendors & Products
Showing 1 associated CPE
Vendor Product Version / Range
static-web-server static_web_server From 2.1.0 (inc) to 2.41.0 (exc)
Helpful Resources
Exploitability
CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-204 The product provides different responses to incoming requests in a way that reveals internal state information to an unauthorized actor outside of the intended control sphere.
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?

CVE-2026-27480 is a timing-based username enumeration vulnerability in the Basic Authentication mechanism of the Static Web Server (SWS) versions 2.1.0 through 2.40.1.

The vulnerability occurs because the server checks if a username exists before verifying the password. If the username is invalid, the server immediately returns a 401 Unauthorized response. If the username is valid, it proceeds to verify the password using a computationally expensive method (bcrypt hashing), which takes longer.

This difference in response times allows attackers to measure and distinguish valid usernames from invalid ones by analyzing how long the server takes to respond, enabling targeted brute-force or credential-stuffing attacks.

The issue was fixed in version 2.41.0 by modifying the authentication logic to always perform password verification regardless of username validity, ensuring consistent response times and preventing timing-based enumeration.


How can this vulnerability impact me? :

[{'type': 'paragraph', 'content': "This vulnerability allows attackers to identify valid usernames on a system using Static Web Server's Basic Authentication."}, {'type': 'paragraph', 'content': 'By enumerating valid usernames through timing analysis, attackers can focus brute-force or credential-stuffing attacks more effectively on those accounts, increasing the risk of unauthorized access.'}, {'type': 'paragraph', 'content': 'The vulnerability has a moderate severity with a CVSS v3.1 base score of 5.3, indicating a significant but not critical risk.'}] [2]


How does this vulnerability affect compliance with common standards and regulations (like GDPR, HIPAA)?:

I don't know


How can this vulnerability be detected on my network or system? Can you suggest some commands?

[{'type': 'paragraph', 'content': "This vulnerability can be detected by measuring the response times of authentication attempts with different usernames. Specifically, by sending multiple authentication requests with both valid and invalid usernames and analyzing the timing differences in the server's responses, an attacker or tester can identify valid usernames due to the timing discrepancy."}, {'type': 'paragraph', 'content': 'A proof-of-concept approach involves sending repeated requests (e.g., 100 iterations) with various usernames and measuring the average response time for each. Valid usernames will show a different average response time compared to invalid ones.'}, {'type': 'paragraph', 'content': 'While no exact commands are provided in the resources, a practical method would be to use tools like curl in a loop combined with timing measurements, for example:'}, {'type': 'list_item', 'content': 'Use curl with the -w option to measure time_total for authentication attempts: curl -w "%{time_total}\\n" -u username:password -o /dev/null -s http://target-server/'}, {'type': 'list_item', 'content': 'Automate multiple requests with a script (bash, Python, or Rust) to collect timing data for different usernames.'}, {'type': 'paragraph', 'content': 'By comparing the average response times, you can detect the timing discrepancy indicative of this vulnerability.'}] [2]


What immediate steps should I take to mitigate this vulnerability?

The primary mitigation step is to upgrade the Static Web Server (SWS) to version 2.41.0 or later, where the vulnerability has been fixed.

The fix ensures that the server performs bcrypt password verification regardless of username validity, eliminating timing differences that allow username enumeration.

Until the upgrade can be applied, consider implementing additional protective measures such as rate limiting authentication attempts and monitoring for suspicious login patterns to reduce the risk of brute-force or credential-stuffing attacks.


Ask Our AI Assistant
Need more information? Ask your question to get an AI reply (Powered by our expertise)
0/70
EPSS Chart