Read the docs
TI-2026-20289 Aliases CVE-2026-25126

PolarLearn's unvalidated vote direction allows vote count manipulation

Priority LOW 31CWE-20Published · Updated

Key facts

Attack vector
Network
Privileges required
Low
User interaction
None
Attack complexity
Low
Impact type
—
Confidentiality · integrity · availability
Low · High · None
Fix status
Fixed

Attack profile from CVSS 3.1 · CNA. Fix status from CNA.

Summary

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.

Why it matters now

Exploitation None reported CISA SSVC · not in CISA KEV
EPSS 0.00376 31st percentileScored 2026-11-07
Public exploit Yes 1 exploit referenceTagged by NVD
Fix Fixed PolarLearn (polarnl): 0-PRERELEASE-15

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
None
Automatable
No
Technical impact
Partial

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
polarnlPolarLearnbefore 0-PRERELEASE-150-PRERELEASE-15Patch availableCNA
  • PolarLearn Vendorpolarnl Affected before 0-PRERELEASE-15 Fixed in 0-PRERELEASE-15 Patch available CNA

CPE configurations NVD · 1

CPEVersionsRoleVendor
cpe:2.3:a:polarlearn:polarlearn:-:*:*:*:*:*:*:*not specified by NVDVulnerablepolarnl
  • cpe:2.3:a:polarlearn:polarlearn:-:*:*:*:*:*:*:* Versions not specified by NVD Vulnerable ·polarnl

Remediation

  • Fix · CNA PolarLearn (polarnl) Fixed in 0-PRERELEASE-15

Timeline

  1. 2026-10-02 Threatist record created from CVE-2026-25126

References

  • TI-2026-27712 PolarLearn has a Server Action Admin Bypass in Account Management Actions CVSS 3.1HIGH 8.8
  • TI-2026-20372 PolarLearn Affected by User Enumeration via Argon2 Timing Attack on Sign-In Endpoint CVSS 4.0MEDIUM 6.3
  • TI-2026-20925 PolarLearn allows Unauthenticated WebSocket access allows subscribing to and posting in arbitrary group chats CVSS 4.0CRITICAL 10.0
  • TI-2026-20371 PolarLearn has Multiple Login CSRFs via Missing OAuth state Parameter (GitHub & Google) CVSS 4.0LOW 2.3
  • TI-2026-28311 PolarLearn: Any password authenticates banned accounts and grants API access CVSS 4.0CRITICAL 9.2

Sources

This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences