Cyber Resilience

CVE-2026-25221

CSRF in Polarlearn

Public PoCCSRF
Published
02 February 2026
Modified
20 February 2026
Patch / advisory
CVSS Score v4 2.3
Click a component to see what it means
Raw vectorCVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:N/VI:L/VA:N/SC:N/SI:L/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
EPSS Score 0.0020 10th percentile
Risk Priority 15 floored blend · peak EPSS

CVSS and EPSS are reproduced from their sources (NVD, FIRST EPSS). Risk Priority is our own derived reading, not an NVD score.

Summary

CVE-2026-25221 is a low-severity CSRF (CWE-352) vulnerability in Polarlearn Polarlearn. Its CVSS base score is 2.3 (Low).

Operationally, exploitation aligns with the MITRE ATT&CK technique Exploit Public-Facing Application (T1190); ranked at the 10th 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 map to AC-3 (Access Enforcement) and SC-23 (Session Authenticity) — see the control section below for these in your framework.

Deeper analysis AI-assisted summary

Synthesised by an AI model from the NVD description and linked references — a reading aid, not an authoritative source.

CVE-2026-25221 is a Login Cross-Site Request Forgery (CSRF) vulnerability, classified under CWE-352, affecting the OAuth 2.0 implementation for GitHub and Google login providers in PolarLearn, a free and open-source learning program. Versions 0-PRERELEASE-15 and earlier fail to implement and verify the state parameter during the authentication flow. The issue has a CVSS v3.1 base score of 8.1 (AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:N), indicating high confidentiality and integrity impacts with network accessibility, low attack complexity, no privileges required, and user interaction needed.

An attacker can exploit this vulnerability without privileges by pre-authenticating a session and tricking a victim user into completing the login flow, causing the victim to inadvertently log into the attacker's account. Once logged in as the attacker, any data the victim enters or academic progress they make is stored on the attacker's account, resulting in data loss for the victim and information disclosure to the attacker.

Mitigation is addressed in the PolarLearn GitHub security advisory GHSA-fhhm-574m-7rpw and via a patch in commit 44669bbb5b647c7625f22dd82f3121c7d7bfbe19. Security practitioners should update to a version incorporating this fix and review OAuth implementations for proper state parameter handling.

OWASP Top 10 for Web (2025)

EU & UK References

Vulnerability Data

PolarLearn is a free and open-source learning program. In 0-PRERELEASE-15 and earlier, the OAuth 2.0 implementation for GitHub and Google login providers is vulnerable to Login Cross-Site Request Forgery (CSRF). The application fails to implement and verify the state parameter…

more

during the authentication flow. This allows an attacker to pre-authenticate a session and trick a victim into logging into the attacker's account. Any data the victim then enters or academic progress they make is stored on the attacker's account, leading to data loss for the victim and information disclosure to the attacker.

CWE(s)

Related Threats

MITRE ATT&CK Enterprise Techniques

T1190 Exploit Public-Facing Application Initial Access
Adversaries may attempt to exploit a weakness in an Internet-facing host or system to initially access a network.
Derived from this CVE’s CWE(s) via the direct CWE→ATT&CK cross-walk.

CVEs Like This One

CVE-2024-41344Shared CWE-352
CVE-2025-30862Shared CWE-352
CVE-2024-39063Shared CWE-352
CVE-2023-23704Shared CWE-352
CVE-2024-39157Shared CWE-352
CVE-2024-54436Shared CWE-352
CVE-2025-25123Shared CWE-352
CVE-2023-28989Shared CWE-352
CVE-2023-46092Shared CWE-352
CVE-2024-27968Shared CWE-352

Affected Assets

polarlearn
polarlearn
all versions

Mitigating Controls

Control response

Prevent
Stop it (NIST 800-53)

—

Detect
Catch it (NIST detect / respond)

—

Harden
Shrink the surface (DISA STIG)

—

Validate
Prove the fix (OWASP ASVS)
  • V3.3.2
  • V3.5.1
  • V10.2.1

Mitigating Controls (NIST 800-53 r5) AI

Access enforcement requires verifying that state-changing requests originate from the authenticated user rather than a forged cross-site source.

Protecting session authenticity prevents attackers from replaying or forging authenticated requests via the victim's browser.

Mitigating Controls (NIST CSF 2.0) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→CSF cross-walk (authority under review) — links open the control.

PR.PS-06 mostly match
prevents

Secure SDLC practices directly require anti-CSRF controls such as tokens or SameSite attributes.

Mitigating Controls (ISO/IEC 27001:2022 Annex A) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→ISO cross-walk (authority under review) — links open the control.

mitigates

By denying access to phishing or malicious sites, the control lowers the likelihood that a user will be tricked into submitting a forged request that performs an unintended action on another site.

References