{"id":"CVE-2026-27809","state":"PUBLISHED","title":"psd-tools: Compression module has unguarded zlib decompression, missing dimension validation, and hardening gaps","description":"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.","publishedAt":"2026-02-25T23:57:00.760Z","updatedAt":"2026-02-26T15:17:34.807Z","severity":{"score":6.8,"label":"Medium","version":"4.0","vector":"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","source":"GitHub_M"},"assigner":"GitHub_M","products":["psd-tools psd-tools"],"affected":[{"vendor":"psd-tools","product":"psd-tools","versions":[{"version":"< 1.12.2","status":"affected"}]}],"references":["https://github.com/psd-tools/psd-tools/security/advisories/GHSA-24p2-j2jr-386w","https://github.com/psd-tools/psd-tools/commit/6c0a78f195b5942757886a1863793fd5946c1fb1","https://github.com/psd-tools/psd-tools/releases/tag/v1.12.2"],"weaknesses":["CWE-409","CWE-789","CWE-617","CWE-190","CWE-755","CWE-704"],"ingestedAt":"2026-10-29T20:11:31.369Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/27xxx/CVE-2026-27809.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-27809","state":"PUBLISHED","datePublished":"2026-02-25T23:57:00.760Z","dateUpdated":"2026-02-26T15:17:34.807Z","assignerShortName":"GitHub_M","assignerOrgId":"a0819718-46f1-4df5-94e2-005712e83aaa","dateReserved":"2026-02-24T02:31:33.267Z"},"containers":{"cna":{"title":"psd-tools: Compression module has unguarded zlib decompression, missing dimension validation, and hardening gaps","descriptions":[{"lang":"en","value":"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."}],"affected":[{"vendor":"psd-tools","product":"psd-tools","versions":[{"version":"< 1.12.2","status":"affected"}]}],"references":[{"url":"https://github.com/psd-tools/psd-tools/security/advisories/GHSA-24p2-j2jr-386w","name":"https://github.com/psd-tools/psd-tools/security/advisories/GHSA-24p2-j2jr-386w","tags":["x_refsource_CONFIRM"]},{"url":"https://github.com/psd-tools/psd-tools/commit/6c0a78f195b5942757886a1863793fd5946c1fb1","name":"https://github.com/psd-tools/psd-tools/commit/6c0a78f195b5942757886a1863793fd5946c1fb1","tags":["x_refsource_MISC"]},{"url":"https://github.com/psd-tools/psd-tools/releases/tag/v1.12.2","name":"https://github.com/psd-tools/psd-tools/releases/tag/v1.12.2","tags":["x_refsource_MISC"]}],"metrics":[{"cvssV4_0":{"attackVector":"NETWORK","attackComplexity":"LOW","attackRequirements":"NONE","privilegesRequired":"NONE","userInteraction":"NONE","vulnConfidentialityImpact":"NONE","vulnIntegrityImpact":"HIGH","vulnAvailabilityImpact":"HIGH","subConfidentialityImpact":"NONE","subIntegrityImpact":"NONE","subAvailabilityImpact":"NONE","baseScore":6.8,"baseSeverity":"MEDIUM","vectorString":"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","version":"4.0"}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-409","lang":"en","description":"CWE-409: Improper Handling of Highly Compressed Data (Data Amplification)","type":"CWE"}]},{"descriptions":[{"cweId":"CWE-789","lang":"en","description":"CWE-789: Memory Allocation with Excessive Size Value","type":"CWE"}]},{"descriptions":[{"cweId":"CWE-617","lang":"en","description":"CWE-617: Reachable Assertion","type":"CWE"}]},{"descriptions":[{"cweId":"CWE-190","lang":"en","description":"CWE-190: Integer Overflow or Wraparound","type":"CWE"}]},{"descriptions":[{"cweId":"CWE-755","lang":"en","description":"CWE-755: Improper Handling of Exceptional Conditions","type":"CWE"}]},{"descriptions":[{"cweId":"CWE-704","lang":"en","description":"CWE-704: Incorrect Type Conversion or Cast","type":"CWE"}]}],"providerMetadata":{"shortName":"GitHub_M","orgId":"a0819718-46f1-4df5-94e2-005712e83aaa","dateUpdated":"2026-02-25T23:57:00.760Z"},"source":{"advisory":"GHSA-24p2-j2jr-386w","discovery":"UNKNOWN"}},"adp":[{"title":"CISA ADP Vulnrichment","metrics":[{"other":{"type":"ssvc","content":{"timestamp":"2026-02-26T15:17:16.249743Z","id":"CVE-2026-27809","options":[{"Exploitation":"none"},{"Automatable":"yes"},{"Technical Impact":"total"}],"role":"CISA Coordinator","version":"2.0.3"}}}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2026-02-26T15:17:34.807Z"}}]}}}