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.
Published: 2026-01-29
Score: 7.1 High
EPSS: < 1% Very Low
KEV: No
Impact: Vote Count Manipulation
Action: Apply Patch
AI Analysis

Impact

Vulnerability in the polarlearn API route allows an attacker to send arbitrary vote direction values that bypass normal validation, causing votes to be recorded as downvotes or invalid values. This can alter poll counts and subvert the intended business logic, potentially affecting system integrity and data accuracy.

Affected Systems

PolarLearn, version prior to 0-PRERELEASE-15, is impacted. Any deployment using older versions without the patch is vulnerable.

Risk and Exploitability

With a CVSS score of 7.1, the issue is moderate to high severity. The EPSS score is below 1%, indicating a low probability of exploitation in the wild, and the vulnerability is not listed in the CISA KEV catalog. The likely attack vector is remote, via the public API endpoint POST /api/v1/forum/vote, where an attacker can supply crafted payloads if no network restrictions are in place.

Generated by OpenCVE AI on April 18, 2026 at 14:30 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade PolarLearn to version 0-PRERELEASE-15 or later. This includes runtime validation of vote direction.
  • Implement server‑side input validation for the direction field, allowing only the ‘up’ value or null.
  • Review and monitor vote logs for abnormal voting patterns and enforce rate limiting to detect potential abuse.

Generated by OpenCVE AI on April 18, 2026 at 14:30 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Fri, 20 Feb 2026 21:00:00 +0000

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

Fri, 20 Feb 2026 20:30:00 +0000

Type Values Removed Values Added
First Time appeared Plarnl
Plarnl polarlearn
CPEs cpe:2.3:a:plarnl:polarlearn:-:*:*:*:*:*:*:*
Vendors & Products Plarnl
Plarnl polarlearn

Mon, 02 Feb 2026 17:15:00 +0000

Type Values Removed Values Added
Metrics ssvc

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


Fri, 30 Jan 2026 09:00:00 +0000

Type Values Removed Values Added
First Time appeared Polarnl
Polarnl polarlearn
Vendors & Products Polarnl
Polarnl polarlearn

Thu, 29 Jan 2026 22:15:00 +0000

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'}


Subscriptions

Polarlearn Polarlearn
Polarnl Polarlearn
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-02-02T16:34:07.949Z

Reserved: 2026-01-29T14:03:42.540Z

Link: CVE-2026-25126

cve-icon Vulnrichment

Updated: 2026-01-30T14:37:07.311Z

cve-icon NVD

Status : Analyzed

Published: 2026-01-29T22:15:56.423

Modified: 2026-02-20T20:46:35.787

Link: CVE-2026-25126

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-04-18T14:45:03Z

Weaknesses