Description
baserCMS is a website development framework. In versions 5.0.0 before 5.3.2 and 5.4.0 before 5.4.2, the widget-area entity serializes widgets only when the submitted value is an array, allowing a string submitted through the admin JSON API to be stored unchanged. Entity reads, including front-end rendering and API responses, deserialize the stored value with unserialize() without an allowed_classes restriction, accepting both raw and base64-encoded serialized data. An administrator, or an attacker who obtains widget-write capability through a separate vulnerability such as chained XSS, can plant an object graph that subsequently triggers on unauthenticated page requests. Two demonstrated gadget chains in the default dependency set use composer/composer ProcessExecutor::startJob() with Process::fromShellCommandline(), or logiscape/mcp-sdk-php StdioTransport::connect() with StdioServerParameters, to reach proc_open() and execute commands as the web-server user. Deserialization bypasses constructor-based readonly safeguards, and the stored payload can execute repeatedly until the database row is repaired. Unauthenticated page access is a trigger after privileged payload storage, not an unauthenticated means of initially planting the payload. This issue has been patched in versions 5.3.2 and 5.4.2.
Published: 2026-10-23
Score: 7.2 High
EPSS: n/a
KEV: No
Impact: Remote Code Execution
Action: Patch Immediately
AI Analysis

Impact

The vulnerability arises from the baserCMS widget-area entity using PHP’s unserialize() without an allowed_classes restriction. This permits an attacker to submit a crafted string that is stored as‑is by the admin JSON API and later deserialized, enabling object injection that can reach native PHP functions such as proc_open through gadget chains. Successful exploitation allows the attacker to execute arbitrary commands on the web‑server process, leading to full remote code execution.

Affected Systems

baserproject basercms versions 5.0.0 to 5.3.1 inclusive and 5.4.0 to 5.4.1 inclusive are vulnerable. Versions 5.3.2 and 5.4.2 or newer contain the fix.

Risk and Exploitability

The CVSS score is 7.2, indicating a high severity. The EPSS score is unavailable but the vulnerability is not listed in CISA’s KEV catalog. Exploitation requires an attacker to have or acquire widget‑write capability, often through privileged access or through a separate vulnerability such as chained XSS. Once the malicious payload is stored, any unauthenticated request to a page that triggers rendering of the widget area will deserialize the payload and may repeatedly execute until the database record is removed. Consequently, the risk is moderate‑high for environments where administrators or privileged users are potentially compromised or where widget area writes are accessible to untrusted parties.

Generated by OpenCVE AI on October 23, 2026 at 15:59 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade baserCMS to version 5.3.2 or later, or 5.4.2 or later, to apply the patch that restricts unserialize() usage.
  • If upgrading immediately is not possible, disable or remove the widget‑area JSON API endpoint that allows arbitrary string storage until the patch is applied.
  • Restrict widget‑write permissions to only trusted administrators and revoke such rights from other user roles.
  • Monitor the widget‑area database table for unexpected writes or changes that could indicate an injected payload.

Generated by OpenCVE AI on October 23, 2026 at 15:59 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Fri, 23 Oct 2026 14:00:00 +0000

Type Values Removed Values Added
Description baserCMS is a website development framework. In versions 5.0.0 before 5.3.2 and 5.4.0 before 5.4.2, the widget-area entity serializes widgets only when the submitted value is an array, allowing a string submitted through the admin JSON API to be stored unchanged. Entity reads, including front-end rendering and API responses, deserialize the stored value with unserialize() without an allowed_classes restriction, accepting both raw and base64-encoded serialized data. An administrator, or an attacker who obtains widget-write capability through a separate vulnerability such as chained XSS, can plant an object graph that subsequently triggers on unauthenticated page requests. Two demonstrated gadget chains in the default dependency set use composer/composer ProcessExecutor::startJob() with Process::fromShellCommandline(), or logiscape/mcp-sdk-php StdioTransport::connect() with StdioServerParameters, to reach proc_open() and execute commands as the web-server user. Deserialization bypasses constructor-based readonly safeguards, and the stored payload can execute repeatedly until the database row is repaired. Unauthenticated page access is a trigger after privileged payload storage, not an unauthenticated means of initially planting the payload. This issue has been patched in versions 5.3.2 and 5.4.2.
Title baserCMS: PHP object injection via unguarded unserialize() in the widget-area entity
Weaknesses CWE-502
References
Metrics cvssV3_1

{'score': 7.2, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H'}


Subscriptions

No data.

cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-10-23T13:47:08.832Z

Reserved: 2026-10-21T20:34:25.600Z

Link: CVE-2026-114624

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Deferred

Published: 2026-10-23T14:17:51.583

Modified: 2026-10-23T16:28:32.357

Link: CVE-2026-114624

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-10-23T16:00:18Z

Weaknesses
  • CWE-502

    Deserialization of Untrusted Data