Note: articles are for educational purposes and are not professional security advice — consult an expert for your specific needs.

CVE-2026-118539 Drupal: Commerce Core patch advice

In short

CVE-2026-118539 is an authorization bypass in Drupal Commerce Core affecting protection of some routes and entity fields, with possible financial harm to merchants. Reported upgrade targets are 3.3.13 for 3.x and 8.x-2.41 for earlier installations; verify them against Drupal's advisory because NVD has not published a fixed version.

Summary written with AI from this article, and checked against it.

A shopping cart behind a damaged shield represents Drupal Commerce Core's authorization bypass and patch verification.

Affected systems and impact

FlawAffected systemsImpact
CVE-2026-109618Use after free and improper handling of exceptional conditionsPHP 7.3.0 – before 8.2.35; 8.3.0 – before 8.3.36; 8.4.0 – before 8.4.27; 8.5.0 – before 8.5.12Remote code execution
CVE-2026-109619Use after free and improper handling of exceptional conditionsPHP 5.4.0 – before 8.2.35; 8.3.0 – before 8.3.36; 8.4.0 – before 8.4.27; 8.5.0 – before 8.5.12Remote code execution
CVE-2026-118539Missing authorization checks on some routes and entity fieldsDrupal Commerce Core; precise affected version boundaries are not establishedAuthorization bypass that may financially harm merchants

At a glanceCVE-2026-118539

CVE-2026-118539 has no CVSS score yet. No fixed version has been published yet.

SeverityNot scored yet (NVD: Received)
Fixed inNo fixed version published yet
AffectedNot published yet
ExploitedNot in CISA's Known Exploited Vulnerabilities catalog
Public exploitNone listed by NVD or on GitHub
WeaknessCWE-862 Missing Authorization
UbuntuNot tracked yet
DebianListed, no packages yet
Red HatNot tracked yet

Is there a public exploit for CVE-2026-118539?

No public exploit is listed as of October 30, 2026: NVD lists no exploit reference, no public GitHub repository names it, and it is not in CISA's Known Exploited Vulnerabilities catalog.

From NVD, Debian · checked October 30, 2026

The Hacker News relays Drupal's recommendation to upgrade Commerce Core 3.x to 3.3.13 and earlier versions to 8.x-2.41 for CVE-2026-118539; the NVD data checked on October 30, 2026, lists no fixed version. Drupal warns that Commerce Core leaves some routes and entity fields insufficiently protected, enabling an authorization bypass that may financially harm merchants. Here is how to check your module inventory and validate changes without inventing an exploit.

This hits teams selling goods or services through Commerce Core's shopping cart, checkout form, or decoupled APIs. The Hacker News reports Drupal's warning of active exploitation; CISA does not list this CVE in its Known Exploited Vulnerabilities catalog as of October 30, 2026. Those statements are not equivalent. Drupal's reported warning deserves attention, but it should not be presented as a CISA-confirmed exploitation entry. The original write-up on thehackernews.com reports Drupal's warning and recommended upgrade versions.

Check CVE-2026-118539 Drupal Commerce Core exposure

Start with the Commerce Core module inventory, not just the Drupal or PHP version. NVD classifies the weakness as CWE-862, Missing Authorization. The component identified in Drupal's warning is Commerce Core; a runtime version alone does not answer whether that module is installed or which release your application uses.

The immediate objective is to establish which module release needs review, not to declare a site safe from an incomplete version boundary.

  1. Record whether Commerce Core is installed in each relevant deployment, together with its installed release and branch, using your established module-inventory process.
  2. Identify which storefronts or decoupled applications depend on that installation. Drupal describes both the included shopping workflow and API-based applications as supported uses of the module.
  3. Keep the module finding separate from the PHP runtime finding. Record both, but do not use a PHP update as evidence that Commerce Core's authorization issue has been addressed.

The warning as reported does not provide a Commerce Core version-check command. There is therefore no justified shell recipe to reproduce here. Use the inventory mechanism your deployment already maintains rather than substituting an unverified command.

Drupal Commerce Core at a glance: NVD, however, has no fixed version published yet for this CVE; Confirm the target release during change approval; Prepare the change in an isolated staging environment; No CVSS score is published yet in NVD

What fails in Commerce Core's authorization checks

The reported failure concerns protection around routes and entity fields. Drupal says the module does not sufficiently protect certain ones, allowing an access bypass that may financially affect the vendor. That is narrower than claiming every commerce operation is exposed, and more specific than describing the problem simply as a website security issue.

For a development team, the distinction matters because testing whether a page loads is not the same as testing whether the correct identity may perform an operation. Likewise, confirming that an entity can be saved does not establish that every field change was permitted. These are the authorization boundaries I would examine, not a claim about the undisclosed vulnerable requests.

Drupal characterizes the issue as highly critical. No CVSS score is published yet in NVD. The missing score should not be replaced with the scores attached to the separate PHP vulnerabilities discussed below.

The potential financial consequence is part of Drupal's warning, but the reporting does not explain a specific loss mechanism. It does not establish that attackers changed prices, diverted payments, or stole customer records. Those would be additional claims, not interchangeable descriptions of an authorization bypass.

Verify Commerce Core upgrade targets before rollout

The reported upgrade advice is specific, but its status needs careful wording. The Hacker News relays Drupal's recommendation to move the 3.x line to Commerce Core 3.3.13 and earlier installations to Commerce Core 8.x-2.41. NVD, however, has no fixed version published yet for this CVE.

The news report also uses overlapping numbers in its affected-range description and upgrade recommendations. That prevents a clean affected-versus-fixed boundary from being inferred from the report alone. For the CVE-2026-118539 Drupal issue, treat those numbers as reported upgrade targets to verify, not an independently confirmed safe-version matrix.

Confirm the target release during change approval. Waiting for a numeric score is not necessary to inventory the module, prepare a staging deployment, or establish the expected authorization behaviour.

  1. Check Drupal's current Commerce Core advisory and release information against the branch you actually deploy. Confirm that the intended package is explicitly associated with this security correction before marking it fixed.
  2. Prepare the change in an isolated staging environment. Record the starting module version, the intended destination, and the authorization checks you expect to preserve.
  3. Apply the confirmed update through your existing deployment process. Keep normal shopping and checkout checks alongside the negative authorization tests described below.
  4. After deployment, verify the module version in the deployed application and retain the test results with the change record. Do not close the finding solely because an update job completed.

Neither the reported warning nor NVD's entry supplies a temporary configuration workaround for Commerce Core. A locally chosen restriction may be an operational precaution, but it should not be labelled a vendor-confirmed mitigation. The same applies to a passing storefront smoke test: it records useful behaviour, not proof that the undisclosed bypass is gone.

Exact Commerce Core exploit requests are undisclosed

A reliable exploit reproduction requires details that the published reporting does not provide. Neither The Hacker News report nor NVD's entry identifies a failing request, an affected route name, an entity-field name, or a working Commerce Core proof of concept. They also do not establish the precise access level required to trigger the bypass.

Consequently, a request containing guessed paths, parameters, or field names would be an invented exploit, not a reproduction of this disclosure. The PHP2Shell proof-of-concept material mentioned in the reporting concerns different vulnerabilities and cannot supply those missing Commerce Core details.

My validation plan would instead use authorization regression tests in an isolated environment. These tests can check your application's intended permissions without pretending to reproduce the undisclosed attack:

  1. Select a commerce operation that your application already defines as restricted. Document which identity should be allowed to perform it and which identity should be denied.
  2. Exercise the same operation under those identities and compare the result with the documented policy. Where relevant to your application, check field changes as well as access to the route.
  3. Repeat the checks after the confirmed security update. Preserve evidence of both the permitted operation succeeding and the prohibited operation being rejected.
  4. Run the normal shopping workflow afterwards so that the authorization change is assessed alongside expected application behaviour.

This is a regression-testing strategy, not a verified reproduction of the CVE-2026-118539 Drupal issue. A passing result cannot establish that an unidentified vulnerable route or field has been covered. Until Drupal publishes enough technical detail to map a test to the flaw, keep that distinction explicit in the assessment.

The Hacker News reports that Drupal provided no specifics about the nature of the exploitation activity or the extent of the campaign, so those unknowns should remain unknowns rather than becoming a speculative incident narrative.

Review PHP2Shell separately from Commerce Core

The CVE-2026-118539 Drupal module issue and PHP2Shell require separate patch decisions. The reporting discusses them together, but the PHP vulnerabilities have different identifiers, different published fix information, and a different CISA catalog status.

The practical separation is straightforward: establish the module update status and the runtime package update status independently. An application team reviewing PHP2Shell's code-execution risk still needs a separate Commerce Core authorization review when that module is present.

The Hacker News also reports Wiz observing attempts that match public PHP2Shell proof-of-concept mechanisms. That does not make every publicly named repository a validated exploit or a suitable production diagnostic. Keep patch verification tied to the vendor or distribution record, rather than treating the availability of attack code as an update test.

Record the evidence, not a guess

Record the owner, installed version, confirmed target, deployment evidence, and test results. The useful evidence is concrete: the deployed module version, the vendor-confirmed target, the completed deployment, and the authorization tests performed.

If Commerce Core is absent, this particular module review does not apply to that application; PHP2Shell may still require attention. If Commerce Core is present, the honest status is more precise than simply patched or vulnerable: record what is installed, what Drupal recommends, what has been changed, and which uncertainty remains. That gives the next engineer an assessment they can act on.

FAQ

Frequently asked questions

Who reported CVE-2026-118539 to Drupal?

Drupal credited Dan Puccetti (dpuccetti), Marcus Johansson (marcus_johansson) and Robert Snyder (rsnyd) with reporting the Commerce Core flaw.

Do all tools branded PHP2Shell actually use the PHP2Shell vulnerabilities?

No. Wiz reported observing another category of PHP2Shell-branded tools that instead relied on session poisoning and a separate local file inclusion vulnerability in the application. The branding alone does not establish which vulnerability a tool uses.

Does triggering PHP memory exhaustion prove that a PHP2Shell exploit succeeded?

No. Wiz researchers said memory exhaustion alone is insufficient to complete the exploit chain. Differences in PHP builds, memory limits and worker behaviour can prevent subsequent stages from working.

Sources

Primary sources

  1. CVE recordNVD and distribution data for CVE-2026-118539, CVE-2026-109618, CVE-2026-109619 (checked 2026-10-30) · nvd.nist.gov

Reports of the story

  1. News reportHackers Actively Exploit Highly Critical Drupal Commerce Core Authorization Bypass Flaw · thehackernews.com

How this article was made: drafted with AI from the sources above and fact-checked against them, then reviewed by Vishal on . How we write and check articles.

Vishal

About the author

· Software & security engineer

GitHub · LinkedIn · X

Vishal writes Trickyworld's tutorials and interview-preparation guides on programming, databases, cyber security and AI. Vishal has been shipping production software long enough to have firm opinions about Python, PHP, Node.js, and JavaScript, and to have been wrong about each of them at least once. The work has run the whole stack: Drupal and Laravel applications, React front ends, MySQL and MongoDB underneath, Redis and Memcached for the things that had to be fast, Apache Solr for the things that had to be findable. That last part turned out to matter more than anyone expected. Tune a Solr index for a season, then watch a language model confidently retrieve the wrong document, and you recognise an old problem wearing new clothes. Most of what is hard about AI systems is not the model. It is retrieval, caching, latency budgets, and deciding what the system does when the answer comes back wrong — which is work he has been doing since well before anyone called it AI engineering. He plays a lot of games, which is less a hobby disclosure than an admission of where a good share of his engineering instinct came from. Real-time systems with a frame budget. State that has to stay coherent while a player does something no designer anticipated. The permanent question of what happens when the frame cannot finish in time. Those habits carry over more directly than they have any right to. He has written several books on programming, all built on the same conviction: most technical writing is unclear because the author never decided what to leave out. More from Vishal → · Editorial policy

More on Cyber Security.

Latest articles

$ subscribe --weekly

Get the next tutorial in your inbox.

Programming, security and AI — the practical bits, no spam. Unsubscribe any time.