CVE-2016-10321
Critical · 9.8CVSS
9.8
EPSS
2.6%
Published
Apr 10, 2017
CISA due date
—
Cloudanix analysis
A software flaw let attackers keep trying many password guesses without being stopped by the usual host-blocking rules, raising the risk that accounts could be taken over.
- Exploitation
- Remote Unauthenticated
- Attacker needs
- None
- Complexity
- Low
- Impact
- Data Exposure
- Component
- Web Framework
- Class
- Authentication Bypass
- Remediation
- Upgrade
- Effort
- Low
- Patch risk
- Low
What it actually does
The authentication logic skips host denylist enforcement and proceeds directly to password verification, enabling unlimited authentication attempts against valid accounts.
Why it matters to the business
Attackers can systematically guess credentials on exposed services, increasing the likelihood of account takeover and unauthorized data access across deployments that have not applied the update.
How an attack unfolds
An attacker identifies a reachable authentication endpoint, issues repeated login attempts using guessed or enumerated credentials, and bypasses the intended host-restriction check because it occurs after password validation begins.
How to fix it
Upgrade all listed packages to the fixed versions provided: trino, trino-config, trino-oci-entrypoint, and each trino-plugin-* package to 444-r1 (Chainguard and Wolfi variants). Remove or isolate any remaining instances running versions prior to 2.14.6 equivalent.
How to confirm the fix worked
Confirm package versions match or exceed the listed fixed releases; review authentication configuration files to ensure host denylist checks occur before password verification; run integration tests that simulate denied-host login attempts.
Typical attack path
- Locate an exposed authentication endpoint on an unpatched instance
- Enumerate or guess usernames through error responses or timing
- Submit high-volume credential guesses from a single or rotating source IP
- Obtain valid credentials once rate limiting or host blocks are never triggered
- Use obtained credentials for further lateral movement or data access
How to detect it
Search authentication and application logs for unusually high numbers of failed login attempts originating from the same IP addresses or subnets over short time windows; correlate with any successful authentications that follow such patterns.
What your security team should do
- Immediately schedule upgrades to the 444-r1 releases for all affected Trino packages
- Enable network-level rate limiting and IP reputation filtering in front of authentication endpoints until patches are deployed
- Audit authentication logs for anomalous volumes of failed attempts from single sources
- Review and tighten host denylist rules in application configuration post-upgrade
The record
web2py before 2.14.6 does not properly check if a host is denied before verifying passwords, allowing a remote attacker to perform brute-force attacks.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| PyPI | web2py | 0 | 2.14.6 |
| Ubuntu:16.04:LTS | web2py | 0 | 2.12.3-1ubuntu0.1 |
Related vulnerabilities
- CVE-2026-25198 web2py versions 2.27.1-stable+timestamp.2023.11.16.08.03.57 and prior contain an open… Also affects web2py
- CVE-2016-4806 Web2py versions 2.14.5 and below was affected by Local File Inclusion vulnerability… Also affects web2py
- CVE-2015-7837 The Linux kernel, as used in Red Hat Enterprise Linux 7, kernel-rt, and Enterprise MRG 2… CWE-254
- CVE-2015-7973 NTP before 4.2.8p6 and 4.3.x before 4.3.90, when configured in broadcast mode, allows… CWE-254
- CVE-2015-8857 The uglify-js package before 2.4.24 for Node.js does not properly account for non-boolean… CWE-254
- CVE-2016-7281 The Web Workers implementation in Microsoft Internet Explorer 10 and 11 and Microsoft… CWE-254
- CVE-2016-7401 The cookie parsing code in Django before 1.8.15 and 1.9.x before 1.9.10, when used on a… CWE-254
- CVE-2016-3354 The Graphics Device Interface (GDI) in Microsoft Windows Vista SP2, Windows Server 2008… CWE-254