CVE-2026-25129: bobthecow psysh · Uncontrolled Search Path Element
Affects bobthecow psyshSource CVE Database V5
Not known to be exploited · CVSS 6.7 Medium : upgrade to 0.12.19 or 0.11.23 when convenient.
Data as of 26 Oct 2026, 13:47 UTC
- EPSS
- 0.3% chance of exploitation in 30 days – higher than 24% of CVEsExploit Prediction Scoring System: the likelihood attackers will use this flaw soon.
- Patch
- Available – fixed in 0.12.19, 0.11.23
CVSS:3.1/AV:L/AC:H/PR:L/UI:R/S:U/C:H/I:H/A:HExploitation evidence
Disclosed: evidence found.
CVE published 30 Jan 2026
Detectable: no evidence on record.
No public nuclei template indexed
Weaponised: no evidence on record.
No public exploit code indexed in Metasploit or Exploit-DB
Exploited in the wildExploited: no evidence on record.
Not in CISA KEV and no source reports exploitation
Observed by OffSeq MirageSeen by Mirage: no evidence on record.
No attack traffic recorded by OffSeq Mirage sensors
A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 26 Oct 2026.
What to do
Upgrade psysh to 0.12.19 or 0.11.23; bobthecow/psysh to 0.11.23.
Affected software
| Product | Affected | Fixed in |
|---|---|---|
| bobthecowpsysh | Affected
| Fixed in
|
| bobthecowpsysh | Affected
| Fixed in
|
Packagistbobthecow/psyshpkg:composer/bobthecow/psyshOther threats | Affected
| Fixed in
|
Check your own hosts for these packages with threat-finder (opens in a new tab), our free open-source scanner.
AI-suggested
European organizations should immediately upgrade PsySH to versions 0.11.23 or 0.12.19 or later to eliminate the automatic loading of .psysh.php from the CWD. Review and restrict directory permissions to prevent untrusted users from writing files into directories that privileged users might use as their CWD. Implement policies to avoid launching PsySH or Laravel Tinker from untrusted or writable directories, especially when running with elevated privileges. Employ monitoring to detect unexpected .psysh.php files in commonly used directories. In CI/CD environments, isolate build and debug environments to prevent directory poisoning. Educate developers and operations staff about the risks of running interactive shells in attacker-writable directories. Consider using containerization or sandboxing to limit the impact of potential local exploits. Regularly audit and update PHP development tools and dependencies to incorporate security patches promptly.
Description
PsySH is a runtime developer console, interactive debugger, and REPL for PHP. Prior to versions 0.11.23 and 0.12.19, PsySH automatically loads and executes a `.psysh.php` file from the Current Working Directory (CWD) on startup. If an attacker can write to a directory that a victim later uses as their CWD when launching PsySH, the attacker can trigger arbitrary code execution in the victim's context. When the victim runs PsySH with elevated privileges (e.g., root), this results in local privilege escalation. This is a CWD configuration poisoning issue leading to arbitrary code execution in the victim user’s context. If a privileged user (e.g., root, a CI runner, or an ops/debug account) launches PsySH with CWD set to an attacker-writable directory containing a malicious `.psysh.php`, the attacker can execute commands with that privileged user’s permissions, resulting in local privilege escalation. Downstream consumers that embed PsySH inherit this risk. For example, Laravel Tinker (`php artisan tinker`) uses PsySH. If a privileged user runs Tinker while their shell is in an attacker-writable directory, the `.psysh.php` auto-load behavior can be abused in the same way to execute attacker-controlled code under the victim’s privileges. Versions 0.11.23 and 0.12.19 patch the issue.