/

CVE-2026-107084

Severity:

HIGH RISK

(8.8)

CSRF (CWE-352) in Slims Admin Loan History Actions

CVE-2026-107084

Deferred

Vulnerability type

Category:

Cross-Site Request Forgery

CWE:

CWE-352

Impact:

Unauthorized privileged actions and potential data loss

Severity:

HIGH RISK

(8.8)

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

Slims 9 Bulian 9.8.0 performs privileged loan-history maintenance operations through a GET request without requiring a CSRF token or explicit POST confirmation. If an authenticated administrator visits a malicious page while logged in, the request may trigger deletion or other destructive changes to loan history records.

Slims 9 Bulian 9.8.0 performs privileged loan-history maintenance operations through a GET request without requiring a CSRF token or explicit POST confirmation. If an authenticated administrator visits a malicious page while logged in, the request may trigger deletion or other destructive changes to loan history records.

Affected context

The issue occurs in the administrative circulation module, specifically the loan-history maintenance endpoint. Risk is present when an authenticated administrator can be induced to load a crafted external page or resource while an active session is available, and the endpoint accepts state-changing actions through a GET parameter without an anti-CSRF control.

The issue occurs in the administrative circulation module, specifically the loan-history maintenance endpoint. Risk is present when an authenticated administrator can be induced to load a crafted external page or resource while an active session is available, and the endpoint accepts state-changing actions through a GET parameter without an anti-CSRF control.

Exploit preconditions

  • Attack surface: Administrative web endpoint under the circulation module
  • Required access: A victim with an authenticated administrator session
  • Trigger point: A request to the loan-history maintenance endpoint with the action parameter set to perform the operation
  • Why exploitation is possible: The server accepts a privileged state-changing GET request without validating a CSRF token or requiring a separate confirmation step
  • Attack surface: Administrative web endpoint under the circulation module
  • Required access: A victim with an authenticated administrator session
  • Trigger point: A request to the loan-history maintenance endpoint with the action parameter set to perform the operation
  • Why exploitation is possible: The server accepts a privileged state-changing GET request without validating a CSRF token or requiring a separate confirmation step

Why this happens

The vulnerability results from treating a browser-accessible GET request as sufficient authorization for a destructive administrative operation. Because browsers automatically attach ambient session credentials to matching requests, an external site may cause an authenticated administrator's browser to submit the action without the administrator intentionally approving it. This maps to CWE-352: Cross-Site Request Forgery.

The vulnerability results from treating a browser-accessible GET request as sufficient authorization for a destructive administrative operation. Because browsers automatically attach ambient session credentials to matching requests, an external site may cause an authenticated administrator's browser to submit the action without the administrator intentionally approving it. This maps to CWE-352: Cross-Site Request Forgery.

Potential impact

  • Loan history records may be deleted or otherwise altered without intentional administrator approval
  • Library reporting and historical records could become incomplete or inaccurate
  • Administrative workflows may be disrupted
  • The application could be used to perform additional unauthorized state-changing actions if similar endpoints lack protections
  • Loan history records may be deleted or otherwise altered without intentional administrator approval
  • Library reporting and historical records could become incomplete or inaccurate
  • Administrative workflows may be disrupted
  • The application could be used to perform additional unauthorized state-changing actions if similar endpoints lack protections

General mitigation guidance

Mitigation generally focuses on separating authentication from request intent for state-changing operations.

Common defensive patterns include:

  • Requiring unpredictable, session-bound CSRF tokens on privileged state-changing requests
  • Using POST or another non-idempotent method for destructive actions rather than GET
  • Enforcing server-side origin or referer validation where appropriate
  • Requiring explicit confirmation or recent reauthentication for high-impact administrative operations
  • Applying least-privilege permissions to loan-history maintenance functions
  • Avoiding reliance on client-side confirmation alone and validating authorization on the server

Mitigation generally focuses on separating authentication from request intent for state-changing operations.

Common defensive patterns include:

  • Requiring unpredictable, session-bound CSRF tokens on privileged state-changing requests
  • Using POST or another non-idempotent method for destructive actions rather than GET
  • Enforcing server-side origin or referer validation where appropriate
  • Requiring explicit confirmation or recent reauthentication for high-impact administrative operations
  • Applying least-privilege permissions to loan-history maintenance functions
  • Avoiding reliance on client-side confirmation alone and validating authorization on the server

How teams detect issues like this

Organizations can identify similar issues through:

  • Static analysis and code review checks for state-changing logic behind GET routes
  • Searches for administrative handlers that lack CSRF middleware or token validation
  • Tests that submit privileged requests without tokens while an authenticated session exists
  • Policy enforcement requiring anti-CSRF protections for cookie-authenticated state-changing endpoints
  • Review of destructive actions for explicit authorization, confirmation, and appropriate HTTP methods

Automated application-security review tools may help flag missing CSRF controls and unsafe state-changing routes.

Organizations can identify similar issues through:

  • Static analysis and code review checks for state-changing logic behind GET routes
  • Searches for administrative handlers that lack CSRF middleware or token validation
  • Tests that submit privileged requests without tokens while an authenticated session exists
  • Policy enforcement requiring anti-CSRF protections for cookie-authenticated state-changing endpoints
  • Review of destructive actions for explicit authorization, confirmation, and appropriate HTTP methods

Automated application-security review tools may help flag missing CSRF controls and unsafe state-changing routes.

Sources

SourceLink
github.comgithub.com/Primandito/CVE-2026-107084
github.comgithub.com/slims/slims9_bulian/issues/394

Frequently asked

questions

Yes, in the sense that an attacker may host or deliver a malicious page that causes a victim's browser to send the request. The victim must still have an active authenticated administrative session.

Typically not. The attacker relies on the victim's browser automatically sending its existing session credentials, while the victim must have sufficient privileges for the targeted operation.

Protect every state-changing administrative request with server-validated CSRF tokens, use POST for destructive actions, and require explicit confirmation for high-impact changes.

Enforce CSRF protections through shared middleware or framework defaults, prohibit destructive GET endpoints, review authorization boundaries, and include authenticated negative tests in security testing.

Yes, in the sense that an attacker may host or deliver a malicious page that causes a victim's browser to send the request. The victim must still have an active authenticated administrative session.

Typically not. The attacker relies on the victim's browser automatically sending its existing session credentials, while the victim must have sufficient privileges for the targeted operation.

Protect every state-changing administrative request with server-validated CSRF tokens, use POST for destructive actions, and require explicit confirmation for high-impact changes.

Enforce CSRF protections through shared middleware or framework defaults, prohibit destructive GET endpoints, review authorization boundaries, and include authenticated negative tests in security testing.

Find out what's already
exploitable in your codebase.