CVE-2026-43976: wger: cross-tenant admin notes/contracts leak via gym=None bypass (5 views)
(updated )
Five gym management views in wger apply a flawed gym-scope guard (gym_a != gym_b) that silently passes when both operands are None. A trainer with gym.gym_trainer and gym.add_adminusernote permissions and no gym assignment (gym=None) can read private admin notes, uploaded documents, gym contracts, user configuration, and user permission data for any other unaffiliated user on the instance. The subsequent querysets filter only on the attacker-supplied member_id with no secondary gym-scoped validation, so all records are disclosed.
References
- github.com/advisories/GHSA-c72h-82w6-rqfp
- github.com/pypa/advisory-database/tree/main/vulns/wger/PYSEC-2026-4313.yaml
- github.com/wger-project/wger/commit/b51f472ab2f790d8b4e67b4371bd6d1915af2930
- github.com/wger-project/wger/commit/e1d329ff4ef6213b0a1adc5daf115e6d8981190c
- github.com/wger-project/wger/releases/tag/2.6
- github.com/wger-project/wger/security/advisories/GHSA-c72h-82w6-rqfp
- nvd.nist.gov/vuln/detail/CVE-2026-43976
- pypi.org/project/wger
Code Behaviors & Features
Detect and mitigate CVE-2026-43976 with GitLab Dependency Scanning
Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Dependency Scanning using SBOM also detects vulnerabilities from proprietary advisories that this site does not include. Learn more about Dependency Scanning using SBOM →