/

CVE-2026-108921

Severity:

HIGH RISK

(7.3)

Missing Authentication (CWE-287) in Kusalka LMS Endpoints

CVE-2026-108921

Deferred

Vulnerability type

Category:

Missing Authentication

CWE:

CWE-287, CWE-306

Impact:

Unauthorized state-changing actions

Severity:

HIGH RISK

(7.3)

CVSS version:

3.1

Catch this CVE while code is being written

Detect vulnerable code directly in pull requests, so CVEs are fixed before merge.

Summary

KusalkaSilva Learning-Management-System contains a missing-authentication vulnerability in the remove_announcements.php state-changing endpoint. A remote attacker may manipulate the announcement ID parameter to perform an action without the authentication normally required to protect it.

KusalkaSilva Learning-Management-System contains a missing-authentication vulnerability in the remove_announcements.php state-changing endpoint. A remote attacker may manipulate the announcement ID parameter to perform an action without the authentication normally required to protect it.

Affected context

The issue affects deployments of KusalkaSilva Learning-Management-System through the identified revision range when the announcement-removal functionality is reachable remotely and does not consistently enforce authentication before processing the supplied ID. Risk depends on endpoint exposure, authorization design, and the privileges associated with the affected operation.

The issue affects deployments of KusalkaSilva Learning-Management-System through the identified revision range when the announcement-removal functionality is reachable remotely and does not consistently enforce authentication before processing the supplied ID. Risk depends on endpoint exposure, authorization design, and the privileges associated with the affected operation.

Exploit preconditions

  • Attack surface: Remotely reachable state-changing HTTP endpoint
  • Required access: Network access to the affected application; valid authentication may not be required
  • Trigger point: Processing the ID argument by remove_announcements.php
  • Why exploitation is possible: The endpoint can perform an announcement-related action without first establishing that the requester is authenticated
  • Attack surface: Remotely reachable state-changing HTTP endpoint
  • Required access: Network access to the affected application; valid authentication may not be required
  • Trigger point: Processing the ID argument by remove_announcements.php
  • Why exploitation is possible: The endpoint can perform an announcement-related action without first establishing that the requester is authenticated

Why this happens

The underlying flaw is an authorization boundary failure in a state-changing endpoint. The application processes a user-controlled identifier and invokes database-backed functionality without reliably requiring an authenticated session first. This behavior maps primarily to CWE-287: Improper Authentication and is also related to CWE-306: Missing Authentication for Critical Function, because a potentially sensitive operation is available without the expected identity check.

The underlying flaw is an authorization boundary failure in a state-changing endpoint. The application processes a user-controlled identifier and invokes database-backed functionality without reliably requiring an authenticated session first. This behavior maps primarily to CWE-287: Improper Authentication and is also related to CWE-306: Missing Authentication for Critical Function, because a potentially sensitive operation is available without the expected identity check.

Potential impact

  • An unauthenticated attacker may remove or alter announcements
  • Unauthorized changes could affect the integrity of learning-management content
  • Users may receive incomplete, misleading, or unavailable announcements
  • Repeated requests could cause service disruption or administrative overhead
  • The endpoint could provide a foothold for testing other authorization weaknesses
  • An unauthenticated attacker may remove or alter announcements
  • Unauthorized changes could affect the integrity of learning-management content
  • Users may receive incomplete, misleading, or unavailable announcements
  • Repeated requests could cause service disruption or administrative overhead
  • The endpoint could provide a foothold for testing other authorization weaknesses

General mitigation guidance

Mitigation generally centers on enforcing authentication and authorization before every state-changing operation.

Common defensive patterns include:

  • Require an authenticated session before processing the endpoint
  • Enforce server-side authorization for the specific announcement and requested action
  • Treat all identifiers and request parameters as untrusted
  • Use narrowly scoped application identities and database permissions
  • Apply CSRF protections where browser-based authenticated sessions are supported
  • Return consistent responses that do not disclose sensitive authorization details
  • Prefer deny-by-default access policies for state-changing routes

Mitigation generally centers on enforcing authentication and authorization before every state-changing operation.

Common defensive patterns include:

  • Require an authenticated session before processing the endpoint
  • Enforce server-side authorization for the specific announcement and requested action
  • Treat all identifiers and request parameters as untrusted
  • Use narrowly scoped application identities and database permissions
  • Apply CSRF protections where browser-based authenticated sessions are supported
  • Return consistent responses that do not disclose sensitive authorization details
  • Prefer deny-by-default access policies for state-changing routes

How teams detect issues like this

Organizations can look for this class of issue through:

  • Static analysis rules identifying state-changing routes without authentication middleware
  • Code review checks for database operations reached before identity and permission validation
  • Endpoint inventories that classify all mutation-capable routes and their access policies
  • Integration tests that verify anonymous requests are rejected consistently
  • Web-application logs showing unauthenticated requests to mutation endpoints or repeated ID changes
  • Policy enforcement in CI that requires authentication and authorization annotations for sensitive handlers

Organizations can look for this class of issue through:

  • Static analysis rules identifying state-changing routes without authentication middleware
  • Code review checks for database operations reached before identity and permission validation
  • Endpoint inventories that classify all mutation-capable routes and their access policies
  • Integration tests that verify anonymous requests are rejected consistently
  • Web-application logs showing unauthenticated requests to mutation endpoints or repeated ID changes
  • Policy enforcement in CI that requires authentication and authorization annotations for sensitive handlers

Sources

SourceLink
github.comgithub.com/KusalkaSilva/Learning-Management-System/
github.comgithub.com/KusalkaSilva/Learning-Management-System/issues/5
vuldb.comvuldb.com/cve/CVE-2026-108921
vuldb.comvuldb.com/submit/994370
vuldb.comvuldb.com/vuln/416734
vuldb.comvuldb.com/vuln/416734/cti

Frequently asked

questions

Yes, the described attack surface is a remotely reachable state-changing endpoint. Exploitability still depends on network exposure and deployment-specific routing or access controls.

The issue indicates that authentication can be bypassed or is absent for the affected operation, so a valid account may not be required. Network access to the endpoint remains necessary.

Require authentication and perform server-side, operation-level authorization before reading or acting on the supplied identifier.

Maintain an inventory of state-changing endpoints, enforce centralized authentication and authorization middleware, test anonymous access in CI, and monitor logs for unexpected unauthenticated mutations.

Yes, the described attack surface is a remotely reachable state-changing endpoint. Exploitability still depends on network exposure and deployment-specific routing or access controls.

The issue indicates that authentication can be bypassed or is absent for the affected operation, so a valid account may not be required. Network access to the endpoint remains necessary.

Require authentication and perform server-side, operation-level authorization before reading or acting on the supplied identifier.

Maintain an inventory of state-changing endpoints, enforce centralized authentication and authorization middleware, test anonymous access in CI, and monitor logs for unexpected unauthenticated mutations.

Find out what's already
exploitable in your codebase.