Skip to main content

Typemill EUVDEUVD-2026-53210

| CVE-2026-71213 CRITICAL
Improper Restriction of Excessive Authentication Attempts (CWE-307)
2026-08-05 TuranSec GHSA-4265-6rqg-273h
9.1
CVSS 3.1 · Vendor: TuranSec
Share

Severity by source

Vendor (TuranSec) PRIMARY
9.1 HIGH
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N
vuln.today AI
7.4 HIGH

Network, unauthenticated, no UI (PR:N/UI:N), but AC:H because success is contingent on a guessable password outside attacker control; full account compromise gives C:H/I:H, no availability impact.

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

Primary rating from Vendor (TuranSec).

CVSS VectorVendor: TuranSec

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
None

Lifecycle Timeline

6
Analysis Updated
Aug 05, 2026 - 08:28 vuln.today
v2 (cvss_changed)
Re-analysis Queued
Aug 05, 2026 - 08:22 vuln.today
cvss_changed
Severity Changed
Aug 05, 2026 - 08:22 NVD
HIGH CRITICAL
CVSS changed
Aug 05, 2026 - 08:22 NVD
8.1 (HIGH) 9.1 (CRITICAL)
Analysis Generated
Aug 05, 2026 - 08:00 vuln.today
CVE Published
Aug 05, 2026 - 06:59 cve.org
HIGH 8.1

DescriptionCVE.org

Typemill's login endpoint (POST /tm/login, ControllerWebAuth::login()) performs no rate-limiting, failed-attempt counting, or account lockout when captcha is disabled, which is the default configuration. An unauthenticated attacker can send unlimited password-guessing requests against any account, including administrators, with no throttling. The only attempt-counting/lockout logic present in the same file protects an optional secondary email-authcode step and does not apply to the primary password check.

AnalysisAI

Credential brute-forcing against Typemill CMS (versions up to and including 2.25.0) is possible because its primary password-login endpoint (POST /tm/login, ControllerWebAuth::login()) implements no rate-limiting, failed-attempt counting, or account lockout when captcha is disabled - the default state. Any unauthenticated attacker can submit unlimited password guesses against any account, including administrators, enabling account takeover of weakly-protected credentials. No public exploit identified at time of analysis, and the flaw is not listed in CISA KEV.

Technical ContextAI

Typemill is a lightweight flat-file (no-database) PHP CMS used for building documentation sites and small websites. The root cause is CWE-307 (Improper Restriction of Excessive Authentication Attempts): the authentication controller enforces attempt-counting and lockout only on an optional secondary email-authcode step, while the mandatory primary password check in the same ControllerWebAuth::login() method is left entirely unthrottled. Because captcha - the only anti-automation control on the password path - is disabled by default, the login form accepts an unbounded stream of guesses. The single affected package per CPE is cpe:2.3:a:typemill:typemill covering all versions through 2.25.0.

RemediationAI

No vendor-released patch identified at time of analysis - no fix version is present in the input data, and the only references are the upstream GitHub repository (https://github.com/typemill/typemill) and the VulDB advisory (https://vuldb.com/vuln/386095), so monitor the project for a release above 2.25.0. As the most direct compensating control, enable the captcha option on the login form, which activates the anti-automation path that is off by default (trade-off: adds friction and a small accessibility burden for legitimate logins). Additionally, place /tm/login behind a reverse-proxy or WAF rate-limit / fail2ban rule keyed on client IP (trade-off: distributed or proxied attackers can evade IP-based limits), restrict the /tm admin path to known management IPs or a VPN (trade-off: breaks remote editor access from arbitrary networks), and enforce strong/unique admin passwords plus the optional secondary email-authcode step, which does retain lockout logic. Do not rely on any invented fix version.

Share

EUVD-2026-53210 vulnerability details – vuln.today

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