Skip to content
Fencer Vulns
critical 9.1

CVE-2026-27809 json

psd-tools: Compression module has unguarded zlib decompression, missing dimension validation, and hardening gaps

published 2026-02-25 8 mo ago modified 2026-07-13 3 mo ago also EUVD-2026-8781 , GHSA-24p2-j2jr-386w , PYSEC-2026-2262

cvss
9.1
version 3.1, NVD
cisa kev
Not listed
not in CISA's catalog
epss
0.5%
EPSS 0.5% chance of exploitation in 30 days, percentile 41%
public exploits
0
none known

Summary

psd-tools is a Python package for working with Adobe Photoshop PSD files. Prior to version 1.12.2, when a PSD file contains malformed RLE-compressed image data (e.g. a literal run that extends past the expected row size), decode_rle() raises ValueError which propagated all the way to the user, crashing psd.composite() and psd-tools export. decompress() already had a fallback that replaces failed channels with black pixels when result is None, but it never triggered because the ValueError from decode_rle() was not caught. The fix in version 1.12.2 wraps the decode_rle() call in a try/except so the existing fallback handles the error gracefully.

Patch / fix

  • pypi psd-tools 1.12.2
  • psd-tools_project psd-tools 1.12.2
  • psd-tools Debian 13 1.10.7+dfsg.1-1+deb13u1
  • psd-tools Debian 14 1.14.2+dfsg.1-1

debian advisories DEBIAN-CVE-2026-27809

CISA SSVC

Exploitation
none
Automatable
yes
Technical impact
total
Assessed
8 mo ago

Exploit prediction

0.48% chance of exploitation in the next 30 days, higher than 41% of all scored CVEs (FIRST EPSS, 2026-11-08).

Exploits and checks

  • github.com https://github.com/psd-tools/psd-tools/security/advisories/GHSA-24p2-j2jr-386w referenced PoC, tagged "exploit" by a source, unverified

CVSS scores

assigned by version score vector
CNA 4.0 6.8 CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:H/SC:N/SI:N/SA:N/E:U
CNA 4.0 6.8 CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:H/SC:N/SI:N/SA:N/E:U/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
NVD 3.1 9.1 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:H
OSV 3.1 9.1 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:H

Affected packages

ecosystem package affected fixed in
pypi psd-tools
<1.12.2
1.12.2

Affected products

  • psd-tools psd-tools

Classification

Weakness
  • CWE-409 Improper Handling of Highly Compressed Data (Data Amplification)
  • CWE-789 Memory Allocation with Excessive Size Value
  • CWE-617 Reachable Assertion
  • CWE-190 Integer Overflow or Wraparound
  • CWE-755 Improper Handling of Exceptional Conditions
  • CWE-704 Incorrect Type Conversion or Cast

References

Sources

Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.

CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.