cbcvebase.
CVE-2026-44225
published 2026-05-12

CVE-2026-44225: Pulpy is a lightweight, cross-platform desktop application packager for web apps. Prior to 0.1.1, Pulpy injects a pulpy.fs JavaScript API into every packaged…

PriorityP265critical9.3CVSS 3.1
AVNACLPRNUIRSCCHIHAN
EXPLOIT
EPSS
1.10%
62.0th percentile
Pulpy is a lightweight, cross-platform desktop application packager for web apps. Prior to 0.1.1, Pulpy injects a pulpy.fs JavaScript API into every packaged web application, giving it access to the host filesystem. A validateFsPath() function is supposed to sandbox this access, but its blocklist is incomplete. Any web app packaged with Pulpy can read and write arbitrary files in the user's home directory — including ~/.ssh/id_rsa, ~/.aws/credentials, and ~/Library/Keychains/. This vulnerability is fixed in 0.1.1.

Affected

1 ranges
VendorProductVersion rangeFixed in
enesgkkypulpy< 0.1.10.1.1

Detection & IOCsextracted from sources · hover to see the quote

urlhttps://attacker.com/log
path/Users/<username>/.ssh/id_rsa
pathsrc/bridge/native_modules.mm
commandpulpy.fs.readFile(sshKeyPath, 'utf8', (err, data) => { ... })
  • Detect JavaScript calls to the `pulpy.fs` API (e.g., `pulpy.fs.readFile`) targeting sensitive home-directory paths such as `.ssh/`, `.aws/`, or `Library/Keychains/` — these indicate sandbox bypass exploitation.
  • Monitor for outbound HTTP POST requests from Pulpy-packaged applications to external domains immediately after filesystem reads — this is the exfiltration pattern demonstrated in the PoC.
  • The vulnerable path validation in `src/bridge/native_modules.mm` only blocks paths beginning with `/etc/`, `/var/`, `/usr/`, `/System/`, or `/Library/` — any path outside these prefixes (including all user home directory paths) bypasses the sandbox entirely.
  • Flag Pulpy application versions prior to 0.1.1 (stable) in software inventory; the exploit author notes the bypass also affects the 0.1.1-Beta release.
  • ·The blocklist in `validateFsPath()` is prefix-based and only covers system-level directories; it provides no protection for any path under the user's home directory (`/Users/<username>/`), making the sandbox ineffective for protecting user data.
  • ·The path normalization uses `fs::weakly_canonical()` before the blocklist check, but this does not prevent traversal into unblocked directories such as `~/.ssh/` or `~/.aws/`.
  • ·The PoC requires the attacker to know or dynamically resolve the target's username to construct the full absolute path (e.g., `/Users/<username>/.ssh/id_rsa`); however, this is trivially obtainable from within a running application context.
CVEs like this are exactly what “Exploited This Week” covers.

Every Monday: what got weaponized or added to CISA KEV in the last seven days — each CVE cross-linked to its PoC, Nuclei template, and detection rule. Free, one email a week, unsubscribe in one click.