# CVE-2026-55593: Froxlor CSRF vulnerability in AJAX endpoint

Source: https://junglewise.ai/threats/cve-2026-55593-froxlor-csrf-vulnerability-in-ajax-endpoint  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-08-18. Updated: 2026-09-25  
License: CC BY 4.0 with a link back

CVE-2026-55593 · Severity: medium · CVSS 6.5 · Published 2026-08-18

Froxlor's AJAX endpoint (lib/ajax.php) lacks Cross-Site Request Forgery (CSRF) protection, whereas the main application enforces CSRF tokens on all state-changing requests. An attacker can craft a malicious webpage that, when visited by an authenticated Froxlor administrator, silently modifies API key properties such as adding the attacker's IP address to the whitelist or extending expiration indefinitely. This allows unauthorized API access when combined with other attacks to obtain the API secret.

Technologies: [Froxlor](https://junglewise.ai/threats/technologies/froxlor), [froxlor/froxlor (Packagist)](https://junglewise.ai/threats/technologies/froxlor-froxlor). Vendors: [Froxlor](https://junglewise.ai/threats/vendors/froxlor), [Packagist](https://junglewise.ai/threats/vendors/packagist).

## Quick answers

**Is CVE-2026-55593 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2026-55593 being exploited in the wild.

**How severe is CVE-2026-55593?** Medium severity, with a CVSS score of 6.5, published 18 August 2026.

**Which products and versions are affected?** Froxlor <= 2.3.7; froxlor/froxlor (Packagist) <= 2.3.7, ECOSYSTEM:introduced=0,fixed=2.3.8.

**Is there a fix for CVE-2026-55593?** Yes. froxlor/froxlor (Packagist): upgrade to 2.3.8 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**How is CVE-2026-55593 attacked?** It is attacked over the network, in a web application.

**Am I affected by CVE-2026-55593?** Check whether you run Froxlor or froxlor/froxlor (Packagist) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## How to fix

- froxlor/froxlor (Packagist): upgrade to 2.3.8 or later

  ```sh
  composer require froxlor/froxlor:^2.3.8
  ```


## Technical details

The vulnerability is a missing CSRF token validation in the AJAX endpoint (lib/ajax.php). While the main application bootstrap (lib/init.php) enforces CSRF token validation on POST/PUT/PATCH/DELETE requests before processing state-changing operations, the standalone AJAX endpoint bypasses this security control entirely and validates only session existence. The vulnerable code path: lib/ajax.php does not include lib/init.php and instantiates Ajax class directly; Ajax::__construct() and Ajax::handle() perform session validation but skip CSRF checks; Ajax::editApiKey() modifies the database (api_keys table) with attacker-controlled POST parameters without verifying request origin. An unauthenticated attacker cannot exploit this, but any attacker who can trick an authenticated administrator into visiting a malicious webpage can modify API key settings (allowed_from, valid_until) via cross-site POST request. The endpoint's SameSite=Lax cookie provides partial mitigation in modern browsers, but this fails on HTTP deployments, older browser versions, and same-site subdomain attacks. Patch available in version 2.3.8.

## Affected products

- Froxlor Froxlor <= 2.3.7

## Identifiers

- CVE-2026-55593
- GHSA-xpr4-8vp6-c87j

## Timeline

- 2026-06-29: disclosed: GitHub Security Advisory GHSA-xpr4-8vp6-c87j published
- 2026-08-18: advisory: CVE-2026-55593 assigned
- 2026: patched: Fix available in Froxlor 2.3.8

## References

- [https://api.github.com/users/EclipsSec](https://api.github.com/users/EclipsSec)
- [https://github.com/EclipsSec](https://github.com/EclipsSec)
- [https://api.github.com/users/EclipsSec/gists%7B/gist_id%7D](https://api.github.com/users/EclipsSec/gists%7B/gist_id%7D)
- [https://api.github.com/users/EclipsSec/repos](https://api.github.com/users/EclipsSec/repos)
- [https://avatars.githubusercontent.com/u/37583871?v=4](https://avatars.githubusercontent.com/u/37583871?v=4)
- [https://api.github.com/users/EclipsSec/events%7B/privacy%7D](https://api.github.com/users/EclipsSec/events%7B/privacy%7D)

## Related threats

- [Froxlor information disclosure in API keys listing](https://junglewise.ai/threats/cve-2026-121436-froxlor-from-2-3-8-before-2-3-15-contains-an-information)
- [Froxlor authorization bypass in Mysqls.add API](https://junglewise.ai/threats/cve-2026-121435-froxlor-before-2-3-15-contains-an-authorization-bypass)
- [Froxlor Certificates API authorization bypass in Let's Encrypt management](https://junglewise.ai/threats/cve-2026-121434-froxlor-2-3-0-before-2-3-15-contains-a-missing-authorization)
- [Froxlor symlink following in Statistics::makeChownWithNewStats](https://junglewise.ai/threats/cve-2026-113678-froxlor-before-2-3-15-contains-a-symlink-following-vulnerability)
- [Froxlor missing authorization in SubDomains.delete API](https://junglewise.ai/threats/cve-2026-113677-froxlor-from-0-10-0-before-2-3-15-contains-a-missing)
