/

CVE-2026-79362

Severity:

HIGH RISK

(8.8)

PHP Code Injection (CWE-94) in WoltLab Cache Files

CVE-2026-79362

Deferred

Vulnerability type

Category:

Code Injection

CWE:

CWE-94

Impact:

Remote Code Execution

Severity:

HIGH RISK

(8.8)

CVSS version:

3.1

Catch this CVE while code is being written

Detect vulnerable code directly in pull requests, so CVEs are fixed before merge.

Summary

Certain WoltLab products contain a cache-poisoning vulnerability that lets an authenticated, low-privileged user inject PHP code into executable cache files. If attacker-controlled data is processed into a cache file and can terminate a nowdoc block, the resulting code may execute in the application environment.

Affected context

The vulnerability occurs in WoltLab Suite Core deployments using affected WCF releases where generated cache files are executable PHP and incorporate attacker-controlled data. Exploitation depends on the application processing that data into a cache artifact without sufficiently preserving the generated file's code structure.

Exploit preconditions

  • Attack surface: WoltLab Suite application functionality that contributes data

to generated cache files

  • Required access: An authenticated account with low privileges that can submit

or modify data reaching the affected cache-generation path

  • Trigger point: Cache creation, regeneration, or subsequent loading by the

application

  • Why exploitation is possible: Attacker-controlled content can terminate a

nowdoc section and introduce PHP statements into an executable cache file

Why this happens

The underlying bug is an unsafe code-generation pattern in which data is placed into PHP cache files without reliably preventing it from escaping its intended literal context. A nowdoc delimiter can be prematurely terminated when embedded content is not safely handled, causing data to become executable PHP rather than inert cache content. This behavior maps to CWE-94, Improper Control of the Generation of Code.

Potential impact

  • An attacker may execute arbitrary PHP code in the application process.
  • The application and its data could be compromised.
  • Sensitive information may be disclosed or altered.
  • Server-side persistence or lateral movement could become possible.
  • Application availability could be affected.

General mitigation guidance

Mitigation generally focuses on preventing untrusted values from entering executable cache templates and separating data from code. Common defensive patterns include using structured, non-executable cache formats; applying context-appropriate encoding or escaping before values are embedded; validating cache inputs against strict schemas; protecting cache directories from untrusted writes; invalidating and regenerating potentially poisoned artifacts; and running the application with least privilege. Secure-by-default designs should treat generated cache content as data rather than executable source whenever possible.

How teams detect issues like this

Detection may include static analysis for dynamic PHP source generation, interpolation of user-controlled values into nowdoc or heredoc blocks, and writes to executable cache locations. Code reviews can look for cache templates that mix trusted syntax with insufficiently constrained application data. Runtime monitoring can alert on unexpected changes to cache files, PHP constructs appearing in data fields, or anomalous application-process behavior. CI policies and automated code-review tools can flag risky code-generation and cache-writing patterns.

Sources

SourceLink
github.comgithub.com/WoltLab/WCF/commit/c19789dbcc15663c648db1b196b6e6b05265b121
woltlab.comwoltlab.com/community/thread/319263-update-woltlab-suite-6-2-6-6-1-23/
woltlab.comwoltlab.com/community/thread/319264-aktualisierung-woltlab-suite-6-2-6-6-1-23/

Frequently asked

questions

It may be exploitable through the WoltLab application when a low-privileged authenticated user can submit data that reaches the vulnerable cache-generation path.

No. The described condition requires authentication and low-privileged access, although the specific reachable functionality depends on application configuration and permissions.

Ensure attacker-controlled values cannot alter executable cache source. Prefer non-executable structured cache formats and enforce strict, context-aware handling of generated content.

Keep data and code separate, restrict write access to cache locations, review dynamic source-generation logic, monitor generated artifacts, and enforce automated checks for unsafe interpolation patterns.

Find out what's already
exploitable in your codebase.