Advisory Database
  • Advisories
  • Dependency Scanning
  1. composer
  2. ›
  3. october/system
  4. ›
  5. CVE-2026-49400

CVE-2026-49400: October CMS: PHP Object Injection via Backend Widget Session Storage

September 14, 2026

The backend SessionMaker trait stored widget session state as base64(serialize(...)) and consumed it with unserialize() without an allowed_classes restriction. Any code path that could write to a widget.* session key with attacker-controlled bytes could trigger PHP object injection the next time the widget read its session state, allowing instantiation of arbitrary classes and reachable PHP gadget chains.

This issue only affects installations running with cms.safe_mode enabled. Safe Mode is a niche opt-in feature, primarily used for demo installations and multi-tenant or shared-editor scenarios where untrusted users are deliberately granted access to the CMS markup editor. In standard production deployments Safe Mode is off, backend access is restricted to trusted administrators, and a markup editor can already execute arbitrary PHP directly. The session-write path that reaches this sink is gated by the Safe Mode sandbox, so installations without Safe Mode enabled are not exposed.

Scope of impact is narrow even with Safe Mode enabled. The standard backend code paths that populate widget session state (search terms, sort options, selected IDs, filter values) wrap the input inside a known array shape before serializing, so user-supplied values never reach unserialize() as a controllable serialized payload. Exploitation requires the Safe Mode session-write path together with a suitable PHP gadget chain reachable from the installed dependency set. The hardening below removes the underlying object-injection sink so the class of issue is closed off regardless.

References

  • github.com/advisories/GHSA-2ff2-mx52-q8wp
  • github.com/octobercms/october/security/advisories/GHSA-2ff2-mx52-q8wp
  • nvd.nist.gov/vuln/detail/CVE-2026-49400

Code Behaviors & Features

Detect and mitigate CVE-2026-49400 with GitLab Dependency Scanning

Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Learn more about Dependency Scanning →

Affected versions

All versions before 3.7.17, all versions starting from 4.0.0 before 4.2.23

Fixed versions

  • 3.7.17
  • 4.2.23

Solution

Upgrade to versions 3.7.17, 4.2.23 or above.

Impact 3.3 LOW

CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:U/C:L/I:L/A:N

Learn more about CVSS

Weakness

  • CWE-502: Deserialization of Untrusted Data

Source file

packagist/october/system/CVE-2026-49400.yml

Spotted a mistake? Edit the file on GitLab.

  • Site Repo
  • About GitLab
  • Terms
  • Privacy Statement
  • Contact

Page generated Tue, 15 Sep 2026 00:21:18 +0000.