Cyber Resilience

CVE-2026-25885

Access Control in Polarlearn

Public PoCAccess Control
Published
09 February 2026
Modified
20 February 2026
Patch / advisory
CVSS Score v4 10.0
Click a component to see what it means
Raw vectorCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:L/SC:H/SI:H/SA:L/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.0029 21th percentile
Risk Priority 46 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-25885 is a critical-severity Improper Authorization (CWE-285) vulnerability in Polarlearn Polarlearn. Its CVSS base score is 10.0 (Critical).

Operationally, exploitation aligns with the MITRE ATT&CK technique Exploit Public-Facing Application (T1190); ranked at the 21th 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-24 (Access Control Decisions) and AC-25 (Reference Monitor) — 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-25885 affects PolarLearn, a free and open-source learning program, specifically versions 0-PRERELEASE-16 and earlier. The vulnerability resides in the group chat WebSocket endpoint at wss://polarlearn.nl/api/v1/ws, which permits use without authentication. An unauthenticated client can subscribe to any group chat by supplying a group UUID and send messages to any group. The server accepts these messages and persists them in the group's chatContent field, making it more than a transient spam issue. It has a CVSS v3.1 base score of 7.5 (AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N) and is associated with CWE-285 (Improper Authorization) and CWE-306 (Missing Authentication for Critical Function).

Unauthenticated attackers can exploit this remotely with low complexity and no privileges or user interaction required. By connecting to the WebSocket, providing a target group UUID, and sending arbitrary messages, they achieve high integrity impact through persistent message injection into any group's chat history. This enables spam, misinformation dissemination, or disruption of group communications across the platform.

Mitigation details are available in the GitHub security advisory at https://github.com/polarnl/PolarLearn/security/advisories/GHSA-gvjm-5pw7-6c8c and the patching commit at https://github.com/polarnl/PolarLearn/commit/3ba588fda0d3f8e238483a20772719f27e52e79f. Security practitioners should review these for upgrade instructions or authentication enforcement on the WebSocket endpoint.

OWASP Top 10 for Web (2025)

EU & UK References

Vulnerability Data

PolarLearn is a free and open-source learning program. In 0-PRERELEASE-16 and earlier, the group chat WebSocket at wss://polarlearn.nl/api/v1/ws can be used without logging in. An unauthenticated client can subscribe to any group chat by providing a group UUID, and can…

more

also send messages to any group. The server accepts the message and stores it in the group’s chatContent, so this is not just a visual spam issue.

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.
T1133 External Remote Services Persistence
Adversaries may leverage external-facing remote services to initially access and/or persist within a network.
T1548 Abuse Elevation Control Mechanism Privilege Escalation
Adversaries may circumvent mechanisms designed to control privilege elevation to gain higher-level permissions.
T1548.001 Setuid and Setgid Privilege Escalation
An adversary may abuse configurations where an application has the setuid or setgid bits set in order to get code running in a different (and possibly more privileged) user’s context.
T1548.002 Bypass User Account Control Privilege Escalation
Adversaries may bypass UAC mechanisms to elevate process privileges on system.
T1548.003 Sudo and Sudo Caching Privilege Escalation
Adversaries may perform sudo caching and/or use the sudoers file to elevate privileges.
Derived from this CVE’s CWE(s) via the direct CWE→ATT&CK cross-walk.

CVEs Like This One

CVE-2026-35610Same product: Polarlearn Polarlearn
CVE-2026-25126Same product: Polarlearn Polarlearn
CVE-2026-39322Same product: Polarlearn Polarlearn
CVE-2026-25221Same product: Polarlearn Polarlearn
CVE-2026-25222Same product: Polarlearn Polarlearn
CVE-2022-3229Shared CWE-285, CWE-306
CVE-2023-47166Shared CWE-285, CWE-306
CVE-2025-61928Shared CWE-285, CWE-306
CVE-2026-55571Shared CWE-285, CWE-306
CVE-2024-6347Shared CWE-285, CWE-306

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)
  • 12 hardening rules · 3 OS baselines
Validate
Prove the fix (OWASP ASVS)
  • V6.2.3
  • V6.4.4
  • V10.4.16
  • V12.1.3

Mitigating Controls (NIST 800-53 r5) AI

Mandates that access-control decisions are made and applied to each request before access occurs.

Requires a tamperproof, always-invoked reference monitor that performs authorization checks.

Directly requires enforcement of approved authorizations for every access request, stopping improper or missing checks.

Directly mandates unique identification and authentication of users before access to functions requiring identity.

Extends the same authentication requirement to non-organizational users accessing critical functionality.

Requires authentication of services before they can invoke or expose critical functions.

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.AA-03 full match
prevents

Directly requires authentication of users/services/hardware, which eliminates missing authentication for critical functions.

PR.AA-05 mostly match
prevents

PR.AA-05 mostly prevents CWE-285 via enforced policy, reviews, and least-privilege authorization decisions, yet CWE-285 remains only partially prevented because code-level check omissions or errors can still occur outside that single control.

PR.PS-06 mostly match
prevents

Secure SDLC practices catch and eliminate most authorization defects before release, yet a single broad outcome cannot address every design, role, and runtime facet of CWE-285.

PR.AA-01 partial match
prevents

PR.AA-01 supplies managed identities and access-request workflows that can support downstream authorization decisions, yet does nothing to enforce or verify authorization checks inside a product, leaving CWE-285 fully unaddressed by this control alone.

PR.IR-01 partial match
prevents

Network segmentation/zero-trust limits external reachability (partial prevention of exploitation) but leaves application-level authorization logic untouched, so the CWE remains fully introducible and only one facet of its risk is addressed.

PR.PS-05 none match
prevents

PR.PS-05 blocks unauthorized binaries/DNS while CWE-285 is an in-product authorization-check defect, so the control neither prevents the weakness nor removes any of its risk.

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.

prevents

The control explicitly calls for authentication before any critical function is reached, eliminating the possibility of bypassing authentication for high-value operations.

prevents

Granular, policy-driven assignment of permissions and dynamic enforcement of those permissions prevent the incorrect or missing authorization decisions that lead to improper authorization flaws.

prevents

By requiring documented authorization rules and periodic policy reviews, the control makes it less likely that authorization decisions will be omitted or implemented inconsistently across applications.

prevents

Mapping access rights to information classification and business requirements forces correct enforcement of authorization decisions, blocking the incorrect authorization weakness at the policy and implementation stage.

finds

Independent reviewers evaluate whether authorization logic matches policy, thereby reducing the window in which incorrect or missing authorization checks remain in production.

finds

By requiring managers to verify that authorization decisions match policy and to remediate deviations, the control limits the persistence of incorrect or missing authorization checks.

Hardening callouts derived

Configuration rules from DISA STIG baselines that bear on weaknesses of the type cited by this CVE. Each rule is shown with the relationship its mapping actually records, against the CWE it was authored against. Derived via CVE→CWE over `controls_xwalks` (authoritative rows only; rows rated `none` are excluded).

Oracle Linux 8 (4 rules)
  • V-252656 The OL 8 operating system must not be configured to bypass password requirements for privilege escalation. prevents CWE-285
  • V-248581 OL 8 must require users to provide a password for privilege escalation. prevents CWE-285
  • V-248585 OL 8 must require reauthentication when using the "sudo" command. prevents CWE-306
RHEL 7 (5 rules)
  • V-204442 The Red Hat Enterprise Linux operating system must not have the rsh-server package installed. prevents CWE-306
  • V-204429 The Red Hat Enterprise Linux operating system must be configured so that users must provide a password for privilege escalation. prevents CWE-285
  • V-204430 The Red Hat Enterprise Linux operating system must be configured so that users must re-authenticate for privilege escalation. prevents CWE-285
RHEL 8 (3 rules)
  • V-230492 RHEL 8 must not have the rsh-server package installed. prevents CWE-306
  • V-237643 RHEL 8 must require re-authentication when using the "sudo" command. prevents CWE-306
  • V-251712 The RHEL 8 operating system must not be configured to bypass password requirements for privilege escalation. prevents CWE-285

References