PolarLearn's unvalidated vote direction allows vote count manipulation
Default status is the baseline for the product, each version can override it (e.g. patched versions marked unaffected).
| Vendor | Product | Default status | Versions | ||||||
|---|---|---|---|---|---|---|---|---|---|
| polarnl | PolarLearn | affected |
|
No data.
| Vendor | Product | Versions |
|---|---|---|
| Polarnl | Polarlearn | — |
No CVSS v4.0
No CVSS v3.0
No CVSS v2
This CVE is not in the KEV list.
Exploit prediction score: < 1% (0.376% probability within 30 days)
| Type | Values Removed | Values Added |
|---|---|---|
| First Time appeared |
Polarlearn
Polarlearn polarlearn |
|
| CPEs | 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
|
| 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
|