CVE-2026-25126

PolarLearn's unvalidated vote direction allows vote count manipulation

Published Jan 29, 2026 CVSS 3.1 · 7.1 High EPSS < 1% KEV · Not listed
Description
PolarLearn is a free and open-source learning program. Prior to version 0-PRERELEASE-15, the vote API route (`POST /api/v1/forum/vote`) trusts the JSON body’s `direction` value without runtime validation. TypeScript types are not enforced at runtime, so an attacker can send arbitrary strings (e.g., `"x"`) as `direction`. Downstream (`VoteServer`) treats any non-`"up"` and non-`null` value as a downvote and persists the invalid value in `votes_data`. This can be exploited to bypass intended business logic. Version 0-PRERELEASE-15 fixes the vulnerability.

Remediation

No solution or workaround provided in the CVE record

Tracking

Sign in to view the affected projects.

Advisories

No advisories available
History
Type Values Removed Values Added
First Time appeared Polarlearn
Polarlearn polarlearn
CPEs cpe:2.3:a:plarnl:polarlearn:-:*:*:*:*:*:*:* cpe:2.3:a:polarlearn:polarlearn:-:*:*:*:*:*:*:*
Vendors & Products Plarnl
Plarnl polarlearn
Polarlearn
Polarlearn polarlearn
Type Values Removed Values Added
First Time appeared Plarnl
Plarnl polarlearn
CPEs cpe:2.3:a:plarnl:polarlearn:-:*:*:*:*:*:*:*
Vendors & Products Plarnl
Plarnl polarlearn
Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}

Type Values Removed Values Added
First Time appeared Polarnl
Polarnl polarlearn
Vendors & Products Polarnl
Polarnl polarlearn
Type Values Removed Values Added
Description PolarLearn is a free and open-source learning program. Prior to version 0-PRERELEASE-15, the vote API route (`POST /api/v1/forum/vote`) trusts the JSON body’s `direction` value without runtime validation. TypeScript types are not enforced at runtime, so an attacker can send arbitrary strings (e.g., `"x"`) as `direction`. Downstream (`VoteServer`) treats any non-`"up"` and non-`null` value as a downvote and persists the invalid value in `votes_data`. This can be exploited to bypass intended business logic. Version 0-PRERELEASE-15 fixes the vulnerability.
Title PolarLearn's unvalidated vote direction allows vote count manipulation
Weaknesses CWE-20
References
Metrics cvssV3_1

{'score': 7.1, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:H/A:N'}

Weaknesses

Sources

Status
PUBLISHED
Assigner
GitHub_M
Published
Updated
Feb 2, 2026, 4:34 PM
Reserved
Jan 29, 2026, 2:03 PM
Status
Analyzed
Published
Jan 29, 2026, 10:15 PM
Modified
Jun 17, 2026, 10:24 AM