mediumCVSS 6.5Vulnerability

GHSA-v25j-wqcw-fvhj

### Summary Any authenticated user can create a routine spanning an arbitrarily long date range (e.g. 100 years) and then trigger the `date_sequence` computation via any of the routine detail endpoints. The server iterates once per day in an unbounded `while` loop with no maximum duration validation, causing a single HTTP request to consume multiple seconds of server CPU and return a response containing tens of thousands of entries. Repeated requests can exhaust all worker threads and deny service to other users. ### Details The `Routine` model (file: `wger/manager/models/routine.py`) has `start` and `end` date fields with only one validation -- `start` must not be after `end`: ```python # File: wger/manager/models/routine.py, line 151 def clean(self): if self.end and self.start and self.start > self.end: raise ValidationError('The start time cannot be after the end time.') # NO maximum duration check ``` The `RoutineSerializer` (file: `wger/manager/api/serializers.py`, line 43) likewise performs no validation on the delta between `start` and `end`. The `date_sequence` property (line 256) uses an unbounded loop: ```python # File: wger/manager/models/routine.py, line 256 while current_date <= self.end: # heavy computation per day: slots, entries, configs, logs ... ``` A routine with `start=2000-01-01` and `end=2099-12-31` produces **36,525 iterations**, each performing O(slots x entries x configs) work. Five endpoints trigger this computation: - `GET /api/v2/routine/<id>/date-sequence-display/` - `GET /api/v2/routine/<id>/date-sequence-gym/` - `GET /api/v2/routine/<id>/structure/` - `GET /api/v2/routine/<id>/logs/` - `GET /api/v2/routine/<id>/stats/` ### PoC #### Prerequisites - One authenticated user account - No special permissions required #### Attack Steps ``` # 1. Create a 100-year routine POST /api/v2/routine/ Authorization: Token <token> Content-Type: application/json { "name": "DoS routine", "start": "2000-01-01"

Properties

ghsa_id
GHSA-v25j-wqcw-fvhj
severity
medium
summary
wger has an Uncontrolled Resource Consumption issue
cvss_score
6.5
cve_id
GHSA-v25j-wqcw-fvhj
cvss_vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
is_ghsa_only
true
ghsa_published
2026-05-13T15:33:38Z
source_url
https://github.com/advisories/GHSA-v25j-wqcw-fvhj
ghsa_updated
2026-05-13T15:33:40Z

Related Entities (4)

VULNERABLE_TO (1)

[Software]pip/wger

AFFECTS (1)

[Software]pip/wger

HAS_WEAKNESS (1)

[Weakness]Uncontrolled Resource Consumption

REPORTED_BY (1)

[Source]GitHub Advisory Database

Explore deeper with Ninja Signal's threat intelligence graph

GHSA-v25j-wqcw-fvhj (CVSS 6.5) — Ninja Signal Threat Intelligence | Ninja Signal