PHP Patch
CVE-2026-109618 · CVE-2026-109619CVSS 9.2 CriticalRemote code execution without loginPHP 5.4 – 8.5.11
PHP vulnerability response for Moodle

Your learning platform holds student records. Patch PHP now.

Moodle runs on PHP, and the new flaws let attackers take over a server without logging in. For a learning platform, that puts grades, personal data and staff accounts at risk.

Affected versions

Is the PHP Moodle runs on affected?

5.4 – 8.1No fix comingEnd of life. Upgrade to 8.2+
8.2Fixed in8.2.35
8.3Fixed in8.3.36
8.4Fixed in8.4.27
8.5Fixed in8.5.12

Run php -v on the server. A patched version on disk only protects you after every PHP worker restarts. Distro packages can carry backported fixes under older version numbers, so we confirm against your vendor's changelog.

Why Moodle is exposed

What makes these sites a target.

  • Uploads are a core feature

    Assignments, quizzes and course files depend on file uploads, so broad upload blocking isn't an option. Protection has to be precise.

  • Upgrades wait for term breaks

    Schools often delay server changes until the semester ends, which leaves a long window of exposure.

  • PHP versions follow Moodle versions

    Each Moodle release supports a specific PHP range, so older Moodle sites can be stuck on end-of-life PHP.

  • Personal data obligations

    A breach of student data can trigger notification duties under privacy laws such as FERPA or GDPR.

What we do

How we fix it on Moodle.

The first commands we run, read-only:

php -v
php admin/cli/cron.php   # confirm cron runs after the upgrade
# In Moodle: Site administration > Server > Environment
  • Inventory

    We record Moodle, PHP and plugin versions and check them against Moodle's PHP requirements.

  • Plan around the calendar

    We schedule the upgrade around exams and terms, with temporary hardening in place until then.

  • Upgrade and restart

    We upgrade PHP, restart the web workers, and confirm Moodle cron runs on the patched version.

  • Harden and verify

    We set upload limits that match your course settings and add edge rules that leave student submissions working.

Wherever it runs

Any cloud, any VPS, any server.

The fix is the same everywhere: a patched PHP build, restarted workers and hardened settings. We work on VMs, containers, Kubernetes, serverless runtimes and control-panel hosting.

AWSMicrosoft AzureGoogle CloudOracle CloudDigitalOceanAkamai / LinodeVultrHetznerOVHcloudIONOSShared hostingOn-premises & colo
Services

Pick how much you want us to do.

Start here

Exposure check

  • Every PHP version and server you run, listed
  • Clear verdict: exposed or not, and how urgent
  • Written report with next steps

Fixed fee, credited toward remediation

Consulting

Guided remediation

  • Upgrade plan for your platform and hosting
  • Temporary hardening while you wait
  • Edge and WAF rules written for your routes
  • We review your team's work and verify it

Hourly or fixed package

Ongoing

Patch watch

  • We track PHP and platform advisories
  • Quarterly version and config checks
  • Priority response for the next critical CVE

Monthly retainer

How an engagement works

From first call to verified fix.

  1. Authorize

    You sign a short scope and authorization. We don't scan or touch any system without it.

  2. Inventory

    We record every PHP version, server, container and worker process in scope.

  3. Plan

    You get a fixed quote, a schedule and a rollback plan before any change.

  4. Patch and restart

    We upgrade PHP and restart every worker so no vulnerable code stays in memory.

  5. Verify

    We confirm the fix on every host and hand over a written report.

Signs of an attack?

Don't restart the server yet.

If you see shells or tools like curl launched by PHP processes, PHPSESSID cookies longer than 256 bytes, or a spike in PHP worker crashes, contact us before you patch. Restarting wipes the memory evidence that shows what an attacker did. We preserve that evidence first, then work with an incident response firm if the investigation needs one.

Questions

Moodle questions.

We can't touch the server mid-term.

We can apply temporary hardening now and schedule the upgrade for the next safe window.

Will upload limits break assignments?

No. We set limits from your actual course settings and test real submissions.

We use a Moodle hosting partner.

We'll confirm the PHP version they run and help you get written confirmation of the patch.

Book an exposure check

Find out where you stand this week.

Tell us what you run on Moodle and where it's hosted. We'll reply within one business day with a time for the exposure check.

Email us

Include your platform, approximate number of sites or servers, and your hosting provider.