Reference material — not professional advice. Test in staging, back up first, verify against your specific version. Use your own judgment for your environment.
● Medium · CVSS 5.3 ⚠ ACTIVELY EXPLOITED — CISA KEV

How to Fix CVE-2025-35939: External Control of Assumed-Immutable Web Parameter in Craft CMS

By Sai Kiran Pandrala

⚡ At a glance
SeverityCVSS 5.3 (Medium)
Actively exploited?Yes, listed in CISA KEV (added 2025-06-02, federal due date 2025-06-23)
AffectedCMS: 0 < version 5.7.5, 0 < version 4.15.3
Fixed inCMS: 5.7.5, 4.15.3
Type (CWE)CWE-472 — External Control of Assumed-Immutable Web Parameter

What is CVE-2025-35939?

Craft CMS stores arbitrary content provided by unauthenticated users in session files. This content could be accessed and executed, possibly using an independent vulnerability. Craft CMS redirects requests that require authentication to the login page and generates a session file on the server at '/var/lib/php/sessions'. Such session files are named 'sess_[session_value]', where '[session_value]' is provided to the client in a 'Set-Cookie' response header. Craft CMS stores the return URL request

A successful exploit gives the remote attacker the impact described in the vendor advisory. The fix is to install the patched build from Craft listed in the table above and confirm the running version after the upgrade.

Am I affected?

Check your installed version of Craft CMS against the Affected row above. If your build sits within any of those ranges, treat the system as vulnerable until patched.

If you do not have the version handy, pull it the same way you usually would for CMS: the management console's About page, the CLI's version command, or the package manager record for the installed binary. The vendor advisory linked in the references section is the authoritative source.

How to fix CVE-2025-35939

  1. Read the vendor advisory at https://github.com/craftcms/cms/pull/17220 for the build matrix that matches your installation.
  2. Identify the patched build for your major version: CMS: 5.7.5, 4.15.3.
  3. Back up configuration before upgrading (export running config, snapshot the VM, or take a database dump as appropriate for your platform).
  4. Apply the patched build using the vendor's documented upgrade path (in-place upgrade, package update, or replacement image).
  5. Restart the service so the new code is loaded; verify the running version reports the patched build number.

Update the PHP / Composer package


# Vendor advisory: https://github.com/craftcms/cms/pull/17220
# Pin to 5.7.5 from the advisory.
composer require <vendor>/cms:^5.7.5
composer update <vendor>/cms
composer show <vendor>/cms

# PHP runtime upgrade on Debian / Ubuntu
sudo apt update
sudo apt install --only-upgrade php
php -v

Verify the fix landed


# 1. Confirm the running version matches the fixed-in version from the advisory:
#    https://github.com/craftcms/cms/pull/17220
#    Use the platform-specific version probe above.

# 2. Re-scan with your vulnerability scanner (Nessus, Qualys, Tenable, OpenVAS).
#    The scanner should no longer flag CVE-2025-35939 on the patched target.

# 3. Inspect recent service / kernel logs for crash loops or rollback events.
journalctl -u <service> --since "10 minutes ago"
dmesg --since "10 minutes ago"

If you can't patch immediately

Check the vendor advisory's "Workarounds" section. If the advisory lists no official workaround, patching is the only remediation. Compensating controls that reduce attack surface in the meantime: restrict network access to the management interface to a small admin allowlist, disable the affected feature if it is not in use, and monitor the relevant logs for the exploitation patterns referenced in the advisory.

How to verify the fix worked

  1. Confirm the running version matches the patched build from the vendor advisory.
  2. Re-run your vulnerability scanner; the CVE should clear.
  3. Review logs from before the patch for the exploitation signatures described in the advisory, and treat any matches as a possible compromise (rotate credentials, isolate the host, full IR).

Frequently asked questions

Other vulnerabilities in the same area that are worth patching alongside this one:

Is CVE-2025-35939 being exploited right now?

Yes. It is listed in the CISA Known Exploited Vulnerabilities catalog (added 2025-06-02), which means CISA has evidence of active exploitation.

What is the CVSS score for CVE-2025-35939?

CVSS 5.3 (Medium). Use this with your own asset exposure to set patching priority (internet-exposed systems first).

Do I need to take the system offline to patch?

It depends on the platform. Many appliances support hitless upgrade in HA pairs (upgrade standby, fail over, upgrade primary). Servers and applications usually need a service restart. Plan a maintenance window if HA is not available.

What if my version is not listed as affected?

Cross-check against the vendor advisory linked below. The CVE record reflects the vendor's official affected-products list at publication time; later-discovered variants are added through the same advisory or a follow-up CVE.

References


*This guide was assembled from the official vendor advisory, NVD record, and CISA KEV listing on 2026-05-25. Always confirm against the vendor advisory before applying changes in production.*