GHSA-xv9m-fm3w-8w5x

Suggest an improvement
Source
https://github.com/advisories/GHSA-xv9m-fm3w-8w5x
Import Source
https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/09/GHSA-xv9m-fm3w-8w5x/GHSA-xv9m-fm3w-8w5x.json
JSON Data
https://api.osv.dev/v1/vulns/GHSA-xv9m-fm3w-8w5x
Aliases
Published
2026-09-14T16:02:35Z
Modified
2026-09-14T16:15:09Z
Severity
  • 3.3 (Low) CVSS_V3 - CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:U/C:L/I:L/A:N CVSS Calculator
Summary
October CMS: Safe Mode Sandbox Bypass via Session Store and Forwarded Builder Calls
Details

A vulnerability was identified in the Twig sandbox security policy that allowed a chained bypass when cms.safe_mode is enabled. The Laravel session store was exposed to Twig with unrestricted method access, and raw SQL methods reachable through Eloquent's __call forwarding were not blocked across the full builder chain. When combined, a backend user with CMS markup editing access could read arbitrary database values via raw SQL expressions and write to the backend authentication session key, forging a backend session as another existing user.

Scope of impact is narrow. Safe Mode is a niche 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. Standard production deployments do not enable Safe Mode, because under normal October CMS guidance backend access - including markup editing - is restricted to trusted administrators, and direct PHP injection through markup is already possible without Safe Mode in that configuration.

This issue only affects sites that meet all of the following conditions:

  • cms.safe_mode is enabled (a deliberate opt-in for demos or untrusted-editor scenarios)
  • The site has at least one backend user with CMS markup editing access who is not intended to be trusted as a full administrator
  • The site has at least one existing superuser account whose session the lower-privileged user can impersonate

Impact

  • Arbitrary read access to database tables, including superuser persistence codes from backend_users, via raw SQL expressions reachable through Eloquent\Model, Eloquent\Builder, or any allowlisted class that __call-forwards to a query builder
  • Forgery of a backend authentication session by writing to the admin_auth session key from a Twig template, allowing a markup editor to impersonate an existing superuser
  • Requires authenticated backend access with CMS markup editing permission AND cms.safe_mode enabled
  • Not exploitable when Safe Mode is disabled (direct PHP injection through markup is already possible in that configuration, so Safe Mode is the boundary this issue affects)

Patches

The vulnerability has been patched in v3.7.17 and v4.2.21. The Laravel session store is now wrapped in a proxy that exposes only an explicit subset of read/write methods and rejects writes to reserved session key prefixes (admin_auth, october_auth, login_*, _token, and other framework internals). Raw SQL and subquery methods (selectRaw, whereRaw, orderByRaw, joinSub, and related) are now blocked on Query\Builder, Eloquent\Builder, and Eloquent\Model so the blocklist is consistent across the __call forwarding chain. All sites that enable cms.safe_mode are encouraged to upgrade to the latest patched version.

Workarounds

If upgrading immediately is not possible:

  • Restrict CMS markup editing access to fully trusted administrators only - the standard October CMS recommendation for any deployment
  • Note that disabling cms.safe_mode is not a workaround; Safe Mode is the boundary this issue affects, and disabling it removes the only sandbox between markup editors and the server

References

  • Reported by r00tn0b0dy
Database specific
{
    "cwe_ids":  [
        "CWE-269",
        "CWE-284"
    ],
    "github_reviewed":  true,
    "github_reviewed_at":  "2026-09-14T16:02:35Z",
    "nvd_published_at":  null,
    "severity":  "LOW"
}
References

Affected packages

Packagist / october/system

Package

Name
october/system
Purl
pkg:composer/october/system

Affected ranges

Type
ECOSYSTEM
Events
Introduced
0 Unknown introduced version / All previous versions are affected
Fixed
3.7.17

Affected versions

v1.*
v1.0.319
v1.0.320
v1.0.321
v1.0.322
v1.0.323
v1.0.324
v1.0.325
v1.0.326
v1.0.327
v1.0.328
v1.0.329
v1.0.330
v1.0.331
v1.0.332
v1.0.333
v1.0.334
v1.0.335
v1.0.336
v1.0.337
v1.0.338
v1.0.339
v1.0.340
v1.0.341
v1.0.342
v1.0.343
v1.0.344
v1.0.345
v1.0.346
v1.0.347
v1.0.348
v1.0.349
v1.0.350
v1.0.351
v1.0.352
v1.0.353
v1.0.354
v1.0.355
v1.0.356
v1.0.357
v1.0.358
v1.0.359
v1.0.360
v1.0.361
v1.0.362
v1.0.363
v1.0.364
v1.0.365
v1.0.366
v1.0.367
v1.0.368
v1.0.369
v1.0.370
v1.0.371
v1.0.372
v1.0.373
v1.0.374
v1.0.375
v1.0.376
v1.0.377
v1.0.378
v1.0.379
v1.0.380
v1.0.381
v1.0.382
v1.0.383
v1.0.384
v1.0.385
v1.0.386
v1.0.387
v1.0.388
v1.0.389
v1.0.390
v1.0.391
v1.0.392
v1.0.393
v1.0.394
v1.0.395
v1.0.396
v1.0.397
v1.0.398
v1.0.399
v1.0.400
v1.0.401
v1.0.402
v1.0.403
v1.0.404
v1.0.405
v1.0.406
v1.0.407
v1.0.408
v1.0.409
v1.0.410
v1.0.411
v1.0.412
v1.0.413
v1.0.414
v1.0.415
v1.0.416
v1.0.417
v1.0.418
v1.0.419
v1.0.420
v1.0.421
v1.0.422
v1.0.423
v1.0.424
v1.0.425
v1.0.426
v1.0.427
v1.0.428
v1.0.429
v1.0.430
v1.0.431
v1.0.432
v1.0.433
v1.0.434
v1.0.435
v1.0.436
v1.0.437
v1.0.438
v1.0.439
v1.0.440
v1.0.441
v1.0.442
v1.0.443
v1.0.444
v1.0.445
v1.0.446
v1.0.447
v1.0.448
v1.0.449
v1.0.450
v1.0.451
v1.0.452
v1.0.453
v1.0.454
v1.0.455
v1.0.456
v1.0.457
v1.0.458
v1.0.459
v1.0.460
v1.0.461
v1.0.462
v1.0.463
v1.0.464
v1.0.465
v1.0.466
v1.0.467
v1.0.468
v1.0.469
v1.0.470
v1.0.471
v1.0.472
v1.0.473
v1.0.474
v1.0.475
v1.0.476
v1.1.0
v1.1.1
v1.1.2
v1.1.3
v1.1.4
v1.1.5
v1.1.6
v1.1.9
v1.1.10
v1.1.11
v1.1.12

Database specific

source
"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/09/GHSA-xv9m-fm3w-8w5x/GHSA-xv9m-fm3w-8w5x.json"

Packagist / october/system

Package

Name
october/system
Purl
pkg:composer/october/system

Affected ranges

Type
ECOSYSTEM
Events
Introduced
4.0.0
Fixed
4.2.23

Database specific

source
"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/09/GHSA-xv9m-fm3w-8w5x/GHSA-xv9m-fm3w-8w5x.json"