Skip to main content

wger CVE-2026-86255

| EUVDEUVD-2026-72111 HIGH
Uncontrolled Resource Consumption (CWE-400)
2026-09-06 VulnCheck GHSA-vh7q-hj8h-q34m
7.1
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Recon
    Register or obtain authenticated account
  2. Delivery
    POST routine with arbitrarily large date range (e.g., 100 years)
  3. Exploit
    Send GET request to date-sequence or related routine detail endpoint
  4. Install
    Server executes unbounded per-day while loop (36,525 iterations)
  5. C2
    Repeat requests concurrently
  6. Execute
    Saturate all gunicorn worker threads
  7. Impact
    Deny service to all legitimate users

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V2 - Validation and Business Logic Resource consumption limits
MITRE ATT&CK

1 technique across 1 tactic: Impact

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

The attacker must hold a valid authenticated account on the target wger instance (CVSS PR:L); in deployments with open self-registration this requires only completing account creation. No admin role, elevated permissions, or special feature flag is needed - any default user role can call the routine creation endpoint and the five triggering read endpoints. The unbounded date-range computation is triggered by standard documented API calls requiring only a valid Authorization token. Exploitation is limited to wger instances running a version before 2.5 that are network-reachable (AV:N). Instances that disable self-registration and strictly vet user accounts have a meaningfully higher practical barrier, as the attacker must control at least one legitimate credential.

Impact

The CVSS 4.0 score of 7.1 (AV:N/AC:L/AT:N/PR:L/UI:N/VA:H) accurately reflects the threat model. Any account holder - including a self-registered user in open-registration deployments - can trigger the DoS; no elevated permissions are required. Attack complexity is low with no special configuration needed, and exploitation requires no user interaction beyond routine creation and a single GET request. The GHSA advisory includes a complete PoC with exact JSON payloads, which substantially lowers the practical exploitation threshold despite the absence of a separately released exploit tool. No CISA KEV listing exists and EPSS data was not provided in the input. Real-world risk is strongly modulated by deployment model: instances with open self-registration face a near-zero barrier beyond account creation, while SSO-gated or invite-only deployments require the attacker to already hold a legitimate account. The absence of scope change (S:U, SC:N) is appropriate - the DoS is confined to the wger application worker pool and does not affect the underlying OS or adjacent systems.

Exploit ScenarioDerived

An attacker registers a free account on a public wger instance, POSTs a routine with start=2000-01-01 and end=2099-12-31, then fires concurrent GET requests to /api/v2/routine/<id>/date-sequence-display/ using tools such as curl or a simple Python script. Each request occupies a gunicorn worker for several seconds while the server iterates 36,525 days; with enough concurrent requests the attacker saturates all worker threads, causing HTTP 503 errors for all other users. The GHSA advisory includes exact JSON payloads making this trivially reproducible.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Sep 06, 2026

Uncontrolled resource consumption in wger before 2.5 allows any authenticated user to exhaust server worker threads and deny service to all legitimate users. By creating a routine with an arbitrarily long date range (e.g., 100 years spanning 2000-2099) and then triggering the unbounded date_sequence while-loop via any of five routine detail REST endpoints, a single HTTP request forces 36,525 per-day iterations - each performing O(slots × entries × configs) computation - consuming multiple seconds of CPU. No public exploit code has been released independently, though the GHSA advisory itself contains a complete, weaponizable step-by-step PoC including exact API payloads.

RemediationAI

A fix commit (5f07a4473e2c32d298c8cdd31d78e5107840039c) exists in the wger GitHub repository and adds maximum-duration validation to the Routine model and serializer. However, no formally released patched pip package version has been confirmed - the VulnCheck record states 'fixed in: None' - so the fix boundary of 2.5 stated in the CVE description should be verified against the wger release tags before upgrading. Operators running wger from source can apply the commit directly. Until a confirmed patched release is available, compensating controls include: restricting routine creation to verified/trusted user roles to reduce the attacker pool; adding a reverse-proxy or WAF rate limit (e.g., nginx limit_req or HAProxy stick-tables) on the five triggering endpoints (date-sequence-display, date-sequence-gym, structure, logs, stats) - note that overly aggressive rate limits may also affect legitimate power users; configuring a per-request timeout at the gunicorn layer (e.g., --timeout 30) to cap unbounded CPU consumption, accepting that legitimately large requests may also be terminated; and disabling open self-registration on public-facing instances. Monitor https://github.com/wger-project/wger/security/advisories/GHSA-v25j-wqcw-fvhj for an official patched release announcement.

Affected VersionsENISA

wger 0 <2.5

Affected Packages

pypi wger fix: 2.5

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in pypi

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

wger is an open-source Django-based workout and training management application (CPE: cpe:2.3:a:wger-project:wger). The root cause is CWE-400 (Uncontrolled Resource Consumption). The Routine model in wger/manager/models/routine.py enforces only one constraint - that start does not exceed end - with no maximum duration bound on the date range. The date_sequence property (line 256 of the same file) uses an unbounded while current_date <= self.end loop that iterates once per calendar day, performing nested lookups for slots, entries, configs, and logs on each pass. A 100-year routine yields 36,525 iterations per request. The RoutineSerializer (wger/manager/api/serializers.py, line 43) also omits delta validation. Five API endpoints trigger this computation: GET /api/v2/routine/<id>/date-sequence-display/, /date-sequence-gym/, /structure/, /logs/, and /stats/.

Know when Wger gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (VulnCheck) PRIMARY 7.1 HIGH
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
vuln.today AI 6.5 MEDIUM

Any low-privilege authenticated user can trigger the DoS remotely with no special conditions; no confidentiality or integrity impact applies.

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

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
Low
User Interaction
None
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
None
Vulnerable system: Availability
High
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

2
Patch available
Sep 06, 2026 - 13:01 EUVD
CVE Published
Sep 06, 2026 - 12:00 cve.org
HIGH 7.1

DescriptionCVE.org

wger before 2.5 fails to validate the maximum duration of routine date ranges, allowing authenticated users to create routines spanning arbitrarily long periods. Attackers can trigger the date_sequence computation via routine detail endpoints, forcing the server to iterate thousands of times per request and exhaust worker threads, denying service to legitimate users.

Technical POC Analysis

CWE-400: Uncontrolled Resource Consumption.

Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.

Executive ViewAI

Why It Matters

wger (fitness and workout management application) versions before 2.5 contain a denial-of-service vulnerability allowing any authenticated user to crash the entire service with a single HTTP request through resource exhaustion. Publicly available exploit code exists (documented in the GHSA advisory), and no vendor patch is currently available, creating immediate operational risk for all users.

Business Impact: High
Compensating Controls

Implement rate limiting (1-2 requests per minute per authenticated user on affected endpoints), add request-level timeouts (30 seconds maximum), validate and reject date-range parameters exceeding 365 days, restrict routine creation to administrator-only access, and monitor worker thread and CPU utilization for anomalous spikes. No vendor-released patch identified at time of analysis.

Threat Intelligence Overview

EPSS Score
0.2%
Top 84% exploitable
Prevalence
Low
niche open-source fitness and workout tracker, limited enterprise footprint
Data Quality
6 sources
Confidence: High

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact
High

Priority Score

36
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +36
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.

More in Wger

View all
CVE-2022-2650 CRITICAL POC
9.8 Nov 24

Improper Restriction of Excessive Authentication Attempts in GitHub repository wger-project/wger prior to 2.2. Rated cri

CVE-2023-38758 MEDIUM POC
5.4 Aug 08

Cross Site Scripting vulnerability in wger Project wger Workout Manager v.2.2.0a3 allows a remote attacker to gain privi

CVE-2023-38759 HIGH
8.8 Aug 08

Cross Site Request Forgery (CSRF) vulnerability in wger Project wger Workout Manager 2.2.0a3 allows a remote attacker to

CVE-2026-27839 MEDIUM POC
4.3 Feb 26

Wger versions up to 2.4 allow authenticated users to access other users' private nutrition plans through insecure direct

CVE-2026-27835 MEDIUM POC
4.3 Feb 26

Wger versions up to 2.4 expose all users' repetition configuration data to any authenticated attacker due to missing aut

CVE-2026-27838 LOW POC
3.1 Feb 26

wger is a free, open-source workout and fitness manager. Five routine detail action endpoints check a cache before calli

CVE-2026-46434 HIGH
7.1 Oct 07

Account-deactivation privilege escalation in wger before 2.6 lets an authenticated user who holds only the gym_trainer r

CVE-2026-46438 MEDIUM
6.5 Oct 07

Cross-user integrity corruption in wger versions prior to 2.6 allows authenticated attackers to inject arbitrary workout

CVE-2026-86254 MEDIUM
6.1 Sep 06

Incomplete authorization fix in wger through master exposes three user-management views in wger/core/views/user.py to th

CVE-2026-45161 MEDIUM
5.4 Oct 07

wger before 2.6 contains a CSRF bypass (CWE-352) that lets an attacker-controlled web page silently rebind an authentica

CVE-2026-82544 MEDIUM
5.3 Aug 30

Cross-site request forgery in wger's gym password-reset endpoint allows a remote attacker to force an arbitrary member's

CVE-2026-86256 MEDIUM
5.1 Sep 06

Open redirect in wger's trainer_login view allows an attacker to redirect an authenticated trainer's browser to an arbit

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