CVE-2026-128083: Laravel: Task Output Injection - Concurrency Process

Published Nov 13, 2026
·
Updated

Summary

If a concurrency task prints user-controlled text, an attacker can forge the framework's internal result message and achieve remote code execution in certain conditions

Pre-reqs

Insecure code and insecure handling of user provided input (devs trust user-provided input) :

1. App has a route that reaches Concurrency::run() (Not by default, it requires app code)

2. The task writes user-controlled data to stdout (echo/print/dd of input, hand-built JSON via string concat, passthrough of tool output), and the user-controlled bytes can be made to start the child's stdout and form a complete JSON document followed by \x1f\x8b (Not by default, requires the specific coding pattern in the app code)

Patches 13.40.0 12.71.0

Other sources

Laravel is a web application framework. Prior to 12.71.0 and 13.40.0, Laravel's Concurrency::run process driver can treat a forged internal result message in child standard output as framework output. An application route must invoke Concurrency::run, and a task must write attacker-controlled bytes at the start of the child's standard output that form a complete JSON document followed by gzip magic bytes. Under those application-specific conditions, an attacker can forge the internal result message and achieve remote code execution. The affected behavior is not exposed by default and requires application code that routes untrusted input into task output. This issue is fixed in versions 12.71.0 and 13.40.0.

— MITRE

Affected Software

2 affected componentsFixes available
composer/laravel/framework>=13.0.0<13.40.0
13.40.0
composer/laravel/framework<12.71.0
12.71.0

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade composer/laravel/framework to a version that resolves this vulnerability.

    Fixed in 13.40.0
  2. Upgrade

    Upgrade composer/laravel/framework to a version that resolves this vulnerability.

    Fixed in 12.71.0
  3. Upgrade

    Upgrade to a fixed release to a version that resolves this vulnerability.

    Fixed in 12.71.0
  4. Upgrade

    Upgrade to a fixed release to a version that resolves this vulnerability.

    Fixed in 13.40.0

Event History

Nov 13, 2026
CVE Published
via MITRE·06:44 PM
Data Sourced
via MITRE·06:44 PM
DescriptionWeakness
Advisory Published
via GitHub·06:54 PM
Data Sourced
via GitHub·06:54 PM
DescriptionWeaknessAffected Software
Data Sourced
via OSV·06:54 PM
DescriptionSeverityWeaknessAffected Software
Data Sourced
via NVD·07:19 PM
DescriptionSeverityWeakness

Frequently Asked Questions

1

Are Laravel applications affected by default?

No. Exploitation requires application-specific code: a route must invoke Concurrency::run using the process driver, and a task must emit attacker-controlled data at the beginning of its standard output.

2

What must an attacker be able to control to exploit this issue?

The attacker must be able to cause child-process stdout to begin with a complete forged JSON document followed by the gzip magic bytes (\x1f\x8b). This can arise from echoing, printing, or dumping user input, constructing JSON through string concatenation, or passing through tool output.

3

What versions contain the fixes?

The listed patched versions are Laravel 12.71.0 and 13.40.0. Versions prior to those releases are affected when the application-specific exploitation conditions are present.

4

What can be done if upgrading is not immediately possible?

Remove or prevent routes from reaching Concurrency::run where possible. Review concurrency tasks and ensure they do not write user-controlled or untrusted tool output to stdout, especially as the first bytes of task output.

5

How can teams identify potentially exposed code?

Audit application routes that invoke Concurrency::run and inspect their tasks for stdout writes such as echo, print, dd, manually concatenated JSON, or forwarded command output. Prioritize cases where an external user can influence that output and cause it to appear first.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203