Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1359 CNY

100%

CVE-2026-46438— wger: Cross-User Data Corruption via Missing Ownership Check on WorkoutLog.slot_entry

Quick assessment

Affected
wger-project wger
Exploitation
No confirmed in-the-wild exploitation; assess based on exposure
Recommended action
Check the vendor advisory and references for a fixed version. If immediate upgrade is impossible, restrict exposure and increase monitoring.

wger 是一款免费且开源的锻炼与健身管理应用。在 2.6 版本之前,经过身份验证的攻击者可以通过在 请求中提供受害者的 ID,向任何其他用户的 中注入任意锻炼记录条目。由于 执行的权限验证未包含 的外键字段,服务器在未报错的情况下接受并持久化了该跨用户引用。此外,因为 方法通过 检索关联日志时未进行用户过滤,攻击者注入的数据会被静默地合并到受害者的渐进超负荷(progressive overload)计算中,从而破坏其自动生成的重量和重复次数目标。2.6 版本已包含对此漏洞的修复补丁。

CVSS 6.5 · Medium
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2026-46438

Vulnerability Information

Have questions about the vulnerability? See if Shenlong's analysis helps!
View Shenlong Deep Dive ↗

Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.

Vulnerability Title
wger: Cross-User Data Corruption via Missing Ownership Check on WorkoutLog.slot_entry
Source: CVE Program / CVE List V5
Vulnerability Description
wger is a free, open-source workout and fitness manager. Prior to version 2.6, an authenticated attacker can inject arbitrary workout log entries into any other user's `SlotEntry` by supplying the victim's `slot_entry` ID in a `POST /api/v2/workoutlog/` request. The `slot_entry` foreign key is not included in the ownership verification performed by `WorkoutLogViewSet.get_owner_objects()`, so the server accepts and persists the cross-user reference without error. Because `SlotEntry.get_config_data()` retrieves associated logs via `self.workoutlog_set.all()` with no user filter, the attacker's injected data is silently folded into the victim's progressive-overload calculations, corrupting their auto-generated weight and repetition targets. Version 2.6 contains a patch.
Source: CVE Program / CVE List V5
CVSS Information
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N
Source: CVE Program / CVE List V5
Vulnerability Type
通过用户控制密钥绕过授权机制
Source: CVE Program / CVE List V5

Affected Products

Vendor Product Affected Versions CPE Subscribe
wger-project wger < 2.6 -

II. Public POCs for CVE-2026-46438

# POC Description Source Link Shenlong Link
AI-Generated POC Premium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2026-46438

请登录查看更多情报信息。

Other References for CVE-2026-46438 (2)

Same Patch Batch · wger-project · 2026-10-07 · 5 CVEs total

CVE-2026-43976 7.1 HIGH wger: cross-tenant admin notes/contracts leak via gym=None bypass (5 views)
CVE-2026-46434 7.1 HIGH wger: Trainer Privilege Escalation - Improper Privilege Management
CVE-2026-45161 5.4 MEDIUM wger: trainer_login accepts GET - CSRF bypass enables forced session rebinding
CVE-2026-46437 4.8 MEDIUM wger: API credentials remain valid after logout/password change

IV. Related Vulnerabilities

V. Comments for CVE-2026-46438

No comments yet


Leave a comment