CVE-2026-25126
Published: 29 January 2026
Summary
CVE-2026-25126 is a high-severity Improper Input Validation (CWE-20) vulnerability in Polarlearn Polarlearn. Its CVSS base score is 7.1 (High).
Operationally, exploitation aligns with the MITRE ATT&CK technique Exploit Public-Facing Application (T1190); ranked at the 7.5th percentile by exploit likelihood (below the median); it is not currently listed in the CISA KEV catalog; a public proof-of-concept is referenced.
The strongest mitigations our analysis identified are NIST 800-53 SI-10 (Information Input Validation) and AC-3 (Access Enforcement).
Deeper analysis
CVE-2026-25126 is an improper input validation vulnerability (CWE-20) affecting PolarLearn, a free and open-source learning program, in versions prior to 0-PRERELEASE-15. The issue resides in the vote API route at POST /api/v1/forum/vote, which trusts the JSON body's `direction` value without runtime validation. Although TypeScript types define expected values, they are not enforced at runtime, allowing attackers to submit arbitrary strings such as "x". Downstream processing in VoteServer interprets any non-"up" and non-null value as a downvote and persists the invalid value in `votes_data`, enabling bypass of intended business logic. The vulnerability has a CVSS v3.1 base score of 7.1 (AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:H/A:N).
An authenticated attacker with low privileges (PR:L) can exploit this over the network (AV:N) with low complexity and no user interaction required. By sending a crafted JSON payload with an invalid `direction` value, the attacker bypasses validation, triggers unintended downvote logic, and stores malformed data. This results in high integrity impact (I:H) through business logic manipulation, alongside low confidentiality impact (C:L), but no availability disruption (A:N).
The PolarLearn security advisory (GHSA-ghpx-5w2p-p3qp) and fixing commit (e6227d94d0e53e854f6a46480db8cd1051184d41) confirm that upgrading to version 0-PRERELEASE-15 resolves the issue by implementing proper runtime validation of the `direction` field.
EU & UK References
- 🇪🇺 ENISA EUVD: EUVD-2026-4937
Vulnerability details
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…
more
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.
- CWE(s)
Related Threats
MITRE ATT&CK Enterprise TechniquesAI
Why these techniques?
Improper input validation in the exposed vote API enables exploitation of a public-facing application (T1190) by authenticated network attackers; the resulting business-logic bypass directly permits adversaries to insert malformed values and manipulate persisted vote records (T1565.001).
CVEs Like This One
Affected Assets
Mitigating Controls
Mitigating Controls (NIST 800-53 r5) AI
Directly requires runtime validation of the direction field in POST /api/v1/forum/vote to reject malformed values before VoteServer processes them.
Enforces the intended vote business rules (only up/null/down) as an access-control policy decision on the submitted direction value.
Provides integrity checks that could detect the unauthorized persistence of malformed direction values in votes_data.