/

CVE-2026-88393

Severity:

CRITICAL RISK

(9.8)

PHP Code Injection (CWE-94) in WookTeam Task Export API

CVE-2026-88393

Deferred

Vulnerability type

Category:

Code Injection

CWE:

CWE-94

Impact:

Remote Code Execution

Severity:

CRITICAL RISK

(9.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

WookTeam v1.6.6 and earlier contain a code injection vulnerability in the project task export interface. A remote attacker who can submit data to the affected endpoint may cause attacker-controlled PHP code to execute through an unsafe eval operation.

WookTeam v1.6.6 and earlier contain a code injection vulnerability in the project task export interface. A remote attacker who can submit data to the affected endpoint may cause attacker-controlled PHP code to execute through an unsafe eval operation.

Affected context

The vulnerability occurs in the project task export functionality at /api/project/task/export. The endpoint base64-decodes a data parameter and passes the result to string2array() in app/Module/Base.php; when the decoded input matches the expected array condition, it is incorporated into dynamically evaluated PHP code. Deployments that expose this interface and process attacker-influenced input may be at risk.

The vulnerability occurs in the project task export functionality at /api/project/task/export. The endpoint base64-decodes a data parameter and passes the result to string2array() in app/Module/Base.php; when the decoded input matches the expected array condition, it is incorporated into dynamically evaluated PHP code. Deployments that expose this interface and process attacker-influenced input may be at risk.

Exploit preconditions

  • Attack surface: The project task export HTTP endpoint
  • Required access: Ability to submit requests to the affected interface; authentication requirements may depend on deployment configuration
  • Trigger point: Processing of the endpoint's base64-encoded data parameter
  • Why exploitation is possible: Decoded input can flow into an eval call without adequate separation between data and executable PHP code
  • Attack surface: The project task export HTTP endpoint
  • Required access: Ability to submit requests to the affected interface; authentication requirements may depend on deployment configuration
  • Trigger point: Processing of the endpoint's base64-encoded data parameter
  • Why exploitation is possible: Decoded input can flow into an eval call without adequate separation between data and executable PHP code

Why this happens

The underlying bug is dynamic execution of attacker-influenced input. The application decodes request data and constructs PHP source code that is then evaluated by eval, allowing input to alter program behavior beyond its intended array representation. This is consistent with CWE-94, Improper Control of Generation of Code, because external data is treated as executable logic rather than being parsed through a constrained data-only mechanism.

The underlying bug is dynamic execution of attacker-influenced input. The application decodes request data and constructs PHP source code that is then evaluated by eval, allowing input to alter program behavior beyond its intended array representation. This is consistent with CWE-94, Improper Control of Generation of Code, because external data is treated as executable logic rather than being parsed through a constrained data-only mechanism.

Potential impact

  • An attacker may execute arbitrary PHP code in the application process.
  • The compromise could expose, alter, or delete application data.
  • The attacker could use the application context to access other internal services.
  • Service availability could be disrupted through unauthorized commands or resource consumption.
  • Credentials or configuration secrets available to the process could be disclosed.
  • An attacker may execute arbitrary PHP code in the application process.
  • The compromise could expose, alter, or delete application data.
  • The attacker could use the application context to access other internal services.
  • Service availability could be disrupted through unauthorized commands or resource consumption.
  • Credentials or configuration secrets available to the process could be disclosed.

General mitigation guidance

Mitigation generally centers on removing dynamic code evaluation from request

processing and replacing it with data-only parsing.

Common defensive patterns include:

  • Representing exported task data with a strict, documented serialization format.
  • Parsing input with a safe data parser rather than constructing PHP source code.
  • Enforcing a schema, type checks, size limits, and allowed-value constraints before processing.
  • Treating base64 encoding as an encoding mechanism, not as a security boundary or trust signal.
  • Restricting access to export functionality according to least privilege.
  • Running the application with minimal filesystem, database, and operating-system permissions.
  • Keeping secrets out of the application process where possible and isolating sensitive services.

Mitigation generally centers on removing dynamic code evaluation from request

processing and replacing it with data-only parsing.

Common defensive patterns include:

  • Representing exported task data with a strict, documented serialization format.
  • Parsing input with a safe data parser rather than constructing PHP source code.
  • Enforcing a schema, type checks, size limits, and allowed-value constraints before processing.
  • Treating base64 encoding as an encoding mechanism, not as a security boundary or trust signal.
  • Restricting access to export functionality according to least privilege.
  • Running the application with minimal filesystem, database, and operating-system permissions.
  • Keeping secrets out of the application process where possible and isolating sensitive services.

How teams detect issues like this

Organizations can look for this class of issue through:

  • Static analysis rules that flag eval and other dynamic execution APIs.
  • Data-flow analysis tracing HTTP parameters, decoding functions, and request values into code-generation sinks.
  • Code review checks for string concatenation or interpolation used to construct executable PHP.
  • API tests that verify malformed, unexpected, and oversized export parameters are rejected as data.
  • Runtime monitoring for unusual export requests, repeated failures, unexpected child processes, or anomalous outbound connections.
  • Policy enforcement in CI pipelines that blocks dynamic evaluation of externally influenced input.

Organizations can look for this class of issue through:

  • Static analysis rules that flag eval and other dynamic execution APIs.
  • Data-flow analysis tracing HTTP parameters, decoding functions, and request values into code-generation sinks.
  • Code review checks for string concatenation or interpolation used to construct executable PHP.
  • API tests that verify malformed, unexpected, and oversized export parameters are rejected as data.
  • Runtime monitoring for unusual export requests, repeated failures, unexpected child processes, or anomalous outbound connections.
  • Policy enforcement in CI pipelines that blocks dynamic evaluation of externally influenced input.

Sources

SourceLink
github.comgithub.com/fangtang7/CVE/blob/main/WookTeam/rce.md

Frequently asked

questions

It may be remotely exploitable when the project task export endpoint is reachable

by an attacker and the request is accepted by the application's access controls.

The required access depends on the deployment's authentication and authorization

configuration. The important prerequisite is the ability to submit data to the

affected export interface.

Remove eval from the processing path and parse export input as strictly

validated data using a safe, data-only representation.

Prohibit dynamic evaluation of request-derived content, apply strict schemas and

type validation, use least-privilege service accounts, and include static and

dynamic security checks in the development pipeline.

It may be remotely exploitable when the project task export endpoint is reachable

by an attacker and the request is accepted by the application's access controls.

The required access depends on the deployment's authentication and authorization

configuration. The important prerequisite is the ability to submit data to the

affected export interface.

Remove eval from the processing path and parse export input as strictly

validated data using a safe, data-only representation.

Prohibit dynamic evaluation of request-derived content, apply strict schemas and

type validation, use least-privilege service accounts, and include static and

dynamic security checks in the development pipeline.

Find out what's already
exploitable in your codebase.