Skip to content
KitploitKITPLOIT
ToolsBlog
Submit
ToolsBlog
Submit

Hacking, PenTest, and Cybersecurity Tools for Your Security Arsenal!

Kitploit is a directory of hacking, cybersecurity, and pentesting tools. Discover the latest project updates to find vulnerabilities, analyze systems, automate testing, and strengthen your security.

··Feeds·Contact·Privacy·© 2026 Kitploit

Tool Directory

Categories

View all categories
Loading categories
CVE-2026-25126 — Proof-of-concept for CVE-2026-25126 demonstrating vote count manipulation in PolarLearn via improper runtime validation of the forum vote direction parameter, with fix details. | Kitploit
Tools/GitHubGitHub/jvr2022/cve-2026-25126
Vulnerability AnalysisExploitationWeb Application ExploitationAPI Security TestingPenetration Testing
GitHubjvr2022/cve-2026-25126

CVE-2026-25126

Proof-of-concept for CVE-2026-25126 demonstrating vote count manipulation in PolarLearn via improper runtime validation of the forum vote direction parameter, with fix details.

View Repository
177 months agoNot yet reviewed

Most Popular

View all →

Discover the most used tools by our community.

Explore all tools

Browse our collection of tools

View all tools →
Share

CVE-2026-25126: PolarLearn Vote Count Manipulation

Research: Joshua van Rijswijk

Description

PoC for CVE-2026-25126, a high-severity business logic vulnerability in the PolarLearn forum voting API.

The endpoint POST /api/v1/forum/vote fails to enforce strict runtime validation of the direction field.

Because TypeScript types are not enforced at runtime, an attacker can send arbitrary strings which are incorrectly handled downstream.

This allows manipulation of vote counts by creating so-called ghost downvotes.

The Vulnerability

The API trusts the JSON body without validation:

root@kitploit:~
const body: VoteRequestBody = await request.json()
const { postId, direction } = body

const result = await VoteServer(postId, direction)

Downstream logic treats any unexpected non-null value as a downvote, and persists invalid values.

By alternating an invalid vote with a null reset, a single user can repeatedly decrement the vote count.

PoC Usage

Requirements

  • Node.js 18+ (native fetch support)
  • A valid authenticated session cookie
  • Access to a forum post ID to test against

Steps

  1. Clone the repository
root@kitploit:~
git clone https://github.com/<your-username>/CVE-2026-25126-PoC.git
cd CVE-2026-25126-PoC
  1. Configure the PoC

Open poc.js and replace:

  • POST_ID with the target forum post ID
  • COOKIE with your authenticated session cookie
  1. Run the PoC
root@kitploit:~
node poc.js
  1. Observe the result

After each cycle, the vote count should decrease incorrectly. Refresh the forum page to confirm the manipulated score.

Fix

Patched by implementing strict runtime validation:

  • Only accept: "up", "down", or null
  • Reject all other values with HTTP 400
  • Harden VoteServer against unexpected stored votes

References

  • NVD - CVE-2026-25126
  • GitHub Advisory - GHSA-ghpx-5w2p-p3qp
Download Tool