psd-tools
Python package for working with Adobe Photoshop PSD files
Activity
- Latest release
- 1w ago
- Total releases
- 129
- Cadence
- ~10 days
- Last 12 months
- 28
Details
- License
- MIT
- First release
- Oct 30, 2012
| Version | Released | |
|---|---|---|
1.26.0
minor
|
1.26.0
minor
Dependencies (5)
|
|
1.25.0
minor
|
1.25.0
minor
Dependencies (5)
|
|
1.24.0
minor
|
1.24.0
minor
Dependencies (6)
|
|
1.23.1
patch
|
1.23.1
patch
Dependencies (7)
|
|
1.23.0
minor
|
1.23.0
minor
Dependencies (7)
|
|
1.22.0
minor
|
1.22.0
minor
Dependencies (7)
|
|
1.21.0
minor
|
1.21.0
minor
Dependencies (7)
|
|
1.20.0
minor
|
1.20.0
minor
Dependencies (7)
|
|
1.19.0
minor
|
1.19.0
minor
Dependencies (7)
|
|
1.18.0
minor
|
1.18.0
minor
Dependencies (7)
|
|
1.17.4
patch
|
1.17.4
patch
Dependencies (7)
|
|
1.17.3
patch
1 CVE
CVE-2026-59991
PYSEC-2026-4139
GHSA-8q6g-vjhf-jp8m
Oct 01, 2026
psd-tools composite/numpy has uncontrolled memory allocation via crafted PSD geometry
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
Summary
ImpactOn psd-tools 1.17.2 (latest), default usage, a 49-byte PSD makes Steps to reproduce
PoC (49 bytes), reconstruct with:
Verify:
Root causeThe composite/numpy buffer is sized from the declared image (and per-layer) dimensions and channel/depth without checking them against the available data length or a sane maximum. Suggested fixValidate the declared dimensions, channel count, and per-layer rectangles against the actual file length (and a configurable maximum pixel/byte budget) before allocating; raise an error on overflow instead of committing the buffer and returning a black image. Affected versions
0.1.1
0.1.2
0.1.3
0.1.4
0.10
0.2
0.5
0.6
0.7
0.7.1
0.8
0.8.1
+ 106 more Show less
0.8.2
0.8.3
0.8.4
0.9
0.9.1
1.0
1.1
1.10.0
1.10.1
1.10.10
1.10.11
1.10.12
1.10.13
1.10.2
1.10.3
1.10.4
1.10.5
1.10.6
1.10.7
1.10.8
1.10.9
1.11.0
1.11.1
1.12.0
1.12.1
1.12.2
1.13.0
1.13.1
1.14.0
1.14.1
1.14.2
1.14.3
1.15.0.post1
1.16.0
1.17.0
1.17.1
1.17.2
1.17.3
1.2
1.3
1.4
1.8.10
1.8.11
1.8.12
1.8.13
1.8.14
1.8.15
1.8.16
1.8.17
1.8.18
1.8.19
1.8.20
1.8.21
1.8.22
1.8.23
1.8.24
1.8.25
1.8.26
1.8.27
1.8.28
1.8.29
1.8.30
1.8.31
1.8.32
1.8.33
1.8.34
1.8.35
1.8.36
1.8.37
1.8.38
1.8.8
1.8.9
1.9.0
1.9.1
1.9.10
1.9.11
1.9.12
1.9.13
1.9.14
1.9.15
1.9.16
1.9.17
1.9.18
1.9.19
1.9.2
1.9.20
1.9.21
1.9.22
1.9.23
1.9.24
1.9.26
1.9.27
1.9.28
1.9.29
1.9.3
1.9.30
1.9.31
1.9.32
1.9.33
1.9.34
1.9.4
1.9.5
1.9.6
1.9.7
1.9.8
1.9.9
Fixed in
1.17.4
References
Updated Oct 01, 2026 · Source: OSV.dev |
1.17.3
patch
Dependencies (7)
|
|
1.17.2
patch
1 CVE
CVE-2026-59991
PYSEC-2026-4139
GHSA-8q6g-vjhf-jp8m
Oct 01, 2026
psd-tools composite/numpy has uncontrolled memory allocation via crafted PSD geometry
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
Summary
ImpactOn psd-tools 1.17.2 (latest), default usage, a 49-byte PSD makes Steps to reproduce
PoC (49 bytes), reconstruct with:
Verify:
Root causeThe composite/numpy buffer is sized from the declared image (and per-layer) dimensions and channel/depth without checking them against the available data length or a sane maximum. Suggested fixValidate the declared dimensions, channel count, and per-layer rectangles against the actual file length (and a configurable maximum pixel/byte budget) before allocating; raise an error on overflow instead of committing the buffer and returning a black image. Affected versions
0.1.1
0.1.2
0.1.3
0.1.4
0.10
0.2
0.5
0.6
0.7
0.7.1
0.8
0.8.1
+ 106 more Show less
0.8.2
0.8.3
0.8.4
0.9
0.9.1
1.0
1.1
1.10.0
1.10.1
1.10.10
1.10.11
1.10.12
1.10.13
1.10.2
1.10.3
1.10.4
1.10.5
1.10.6
1.10.7
1.10.8
1.10.9
1.11.0
1.11.1
1.12.0
1.12.1
1.12.2
1.13.0
1.13.1
1.14.0
1.14.1
1.14.2
1.14.3
1.15.0.post1
1.16.0
1.17.0
1.17.1
1.17.2
1.17.3
1.2
1.3
1.4
1.8.10
1.8.11
1.8.12
1.8.13
1.8.14
1.8.15
1.8.16
1.8.17
1.8.18
1.8.19
1.8.20
1.8.21
1.8.22
1.8.23
1.8.24
1.8.25
1.8.26
1.8.27
1.8.28
1.8.29
1.8.30
1.8.31
1.8.32
1.8.33
1.8.34
1.8.35
1.8.36
1.8.37
1.8.38
1.8.8
1.8.9
1.9.0
1.9.1
1.9.10
1.9.11
1.9.12
1.9.13
1.9.14
1.9.15
1.9.16
1.9.17
1.9.18
1.9.19
1.9.2
1.9.20
1.9.21
1.9.22
1.9.23
1.9.24
1.9.26
1.9.27
1.9.28
1.9.29
1.9.3
1.9.30
1.9.31
1.9.32
1.9.33
1.9.34
1.9.4
1.9.5
1.9.6
1.9.7
1.9.8
1.9.9
Fixed in
1.17.4
References
Updated Oct 01, 2026 · Source: OSV.dev |
1.17.2
patch
Dependencies (7)
|
|
1.17.1
patch
1 CVE
CVE-2026-59991
PYSEC-2026-4139
GHSA-8q6g-vjhf-jp8m
Oct 01, 2026
psd-tools composite/numpy has uncontrolled memory allocation via crafted PSD geometry
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
Summary
ImpactOn psd-tools 1.17.2 (latest), default usage, a 49-byte PSD makes Steps to reproduce
PoC (49 bytes), reconstruct with:
Verify:
Root causeThe composite/numpy buffer is sized from the declared image (and per-layer) dimensions and channel/depth without checking them against the available data length or a sane maximum. Suggested fixValidate the declared dimensions, channel count, and per-layer rectangles against the actual file length (and a configurable maximum pixel/byte budget) before allocating; raise an error on overflow instead of committing the buffer and returning a black image. Affected versions
0.1.1
0.1.2
0.1.3
0.1.4
0.10
0.2
0.5
0.6
0.7
0.7.1
0.8
0.8.1
+ 106 more Show less
0.8.2
0.8.3
0.8.4
0.9
0.9.1
1.0
1.1
1.10.0
1.10.1
1.10.10
1.10.11
1.10.12
1.10.13
1.10.2
1.10.3
1.10.4
1.10.5
1.10.6
1.10.7
1.10.8
1.10.9
1.11.0
1.11.1
1.12.0
1.12.1
1.12.2
1.13.0
1.13.1
1.14.0
1.14.1
1.14.2
1.14.3
1.15.0.post1
1.16.0
1.17.0
1.17.1
1.17.2
1.17.3
1.2
1.3
1.4
1.8.10
1.8.11
1.8.12
1.8.13
1.8.14
1.8.15
1.8.16
1.8.17
1.8.18
1.8.19
1.8.20
1.8.21
1.8.22
1.8.23
1.8.24
1.8.25
1.8.26
1.8.27
1.8.28
1.8.29
1.8.30
1.8.31
1.8.32
1.8.33
1.8.34
1.8.35
1.8.36
1.8.37
1.8.38
1.8.8
1.8.9
1.9.0
1.9.1
1.9.10
1.9.11
1.9.12
1.9.13
1.9.14
1.9.15
1.9.16
1.9.17
1.9.18
1.9.19
1.9.2
1.9.20
1.9.21
1.9.22
1.9.23
1.9.24
1.9.26
1.9.27
1.9.28
1.9.29
1.9.3
1.9.30
1.9.31
1.9.32
1.9.33
1.9.34
1.9.4
1.9.5
1.9.6
1.9.7
1.9.8
1.9.9
Fixed in
1.17.4
References
Updated Oct 01, 2026 · Source: OSV.dev |
1.17.1
patch
Dependencies (7)
|
|
1.17.0
minor
2 CVEs
CVE-2026-59991
PYSEC-2026-4139
GHSA-8q6g-vjhf-jp8m
Oct 01, 2026
psd-tools composite/numpy has uncontrolled memory allocation via crafted PSD geometry
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
Summary
ImpactOn psd-tools 1.17.2 (latest), default usage, a 49-byte PSD makes Steps to reproduce
PoC (49 bytes), reconstruct with:
Verify:
Root causeThe composite/numpy buffer is sized from the declared image (and per-layer) dimensions and channel/depth without checking them against the available data length or a sane maximum. Suggested fixValidate the declared dimensions, channel count, and per-layer rectangles against the actual file length (and a configurable maximum pixel/byte budget) before allocating; raise an error on overflow instead of committing the buffer and returning a black image. Affected versions
0.1.1
0.1.2
0.1.3
0.1.4
0.10
0.2
0.5
0.6
0.7
0.7.1
0.8
0.8.1
+ 106 more Show less
0.8.2
0.8.3
0.8.4
0.9
0.9.1
1.0
1.1
1.10.0
1.10.1
1.10.10
1.10.11
1.10.12
1.10.13
1.10.2
1.10.3
1.10.4
1.10.5
1.10.6
1.10.7
1.10.8
1.10.9
1.11.0
1.11.1
1.12.0
1.12.1
1.12.2
1.13.0
1.13.1
1.14.0
1.14.1
1.14.2
1.14.3
1.15.0.post1
1.16.0
1.17.0
1.17.1
1.17.2
1.17.3
1.2
1.3
1.4
1.8.10
1.8.11
1.8.12
1.8.13
1.8.14
1.8.15
1.8.16
1.8.17
1.8.18
1.8.19
1.8.20
1.8.21
1.8.22
1.8.23
1.8.24
1.8.25
1.8.26
1.8.27
1.8.28
1.8.29
1.8.30
1.8.31
1.8.32
1.8.33
1.8.34
1.8.35
1.8.36
1.8.37
1.8.38
1.8.8
1.8.9
1.9.0
1.9.1
1.9.10
1.9.11
1.9.12
1.9.13
1.9.14
1.9.15
1.9.16
1.9.17
1.9.18
1.9.19
1.9.2
1.9.20
1.9.21
1.9.22
1.9.23
1.9.24
1.9.26
1.9.27
1.9.28
1.9.29
1.9.3
1.9.30
1.9.31
1.9.32
1.9.33
1.9.34
1.9.4
1.9.5
1.9.6
1.9.7
1.9.8
1.9.9
Fixed in
1.17.4
References
Updated Oct 01, 2026 · Source: OSV.dev
CVE-2026-49836
PYSEC-2026-2969
GHSA-2rmg-vrx8-9j2f
Jul 13, 2026
psd-tools vulnerable to arbitrary file write via smart-object filename
Medium
Local
Low
None
psd-tools: arbitrary file write/read via smart-object path traversalSummaryIn A secondary issue in DetailsWrite path —
|
1.17.0
minor
Dependencies (7)
|
|
1.16.0
minor
2 CVEs
CVE-2026-59991
PYSEC-2026-4139
GHSA-8q6g-vjhf-jp8m
Oct 01, 2026
psd-tools composite/numpy has uncontrolled memory allocation via crafted PSD geometry
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
Summary
ImpactOn psd-tools 1.17.2 (latest), default usage, a 49-byte PSD makes Steps to reproduce
PoC (49 bytes), reconstruct with:
Verify:
Root causeThe composite/numpy buffer is sized from the declared image (and per-layer) dimensions and channel/depth without checking them against the available data length or a sane maximum. Suggested fixValidate the declared dimensions, channel count, and per-layer rectangles against the actual file length (and a configurable maximum pixel/byte budget) before allocating; raise an error on overflow instead of committing the buffer and returning a black image. Affected versions
0.1.1
0.1.2
0.1.3
0.1.4
0.10
0.2
0.5
0.6
0.7
0.7.1
0.8
0.8.1
+ 106 more Show less
0.8.2
0.8.3
0.8.4
0.9
0.9.1
1.0
1.1
1.10.0
1.10.1
1.10.10
1.10.11
1.10.12
1.10.13
1.10.2
1.10.3
1.10.4
1.10.5
1.10.6
1.10.7
1.10.8
1.10.9
1.11.0
1.11.1
1.12.0
1.12.1
1.12.2
1.13.0
1.13.1
1.14.0
1.14.1
1.14.2
1.14.3
1.15.0.post1
1.16.0
1.17.0
1.17.1
1.17.2
1.17.3
1.2
1.3
1.4
1.8.10
1.8.11
1.8.12
1.8.13
1.8.14
1.8.15
1.8.16
1.8.17
1.8.18
1.8.19
1.8.20
1.8.21
1.8.22
1.8.23
1.8.24
1.8.25
1.8.26
1.8.27
1.8.28
1.8.29
1.8.30
1.8.31
1.8.32
1.8.33
1.8.34
1.8.35
1.8.36
1.8.37
1.8.38
1.8.8
1.8.9
1.9.0
1.9.1
1.9.10
1.9.11
1.9.12
1.9.13
1.9.14
1.9.15
1.9.16
1.9.17
1.9.18
1.9.19
1.9.2
1.9.20
1.9.21
1.9.22
1.9.23
1.9.24
1.9.26
1.9.27
1.9.28
1.9.29
1.9.3
1.9.30
1.9.31
1.9.32
1.9.33
1.9.34
1.9.4
1.9.5
1.9.6
1.9.7
1.9.8
1.9.9
Fixed in
1.17.4
References
Updated Oct 01, 2026 · Source: OSV.dev
CVE-2026-49836
PYSEC-2026-2969
GHSA-2rmg-vrx8-9j2f
Jul 13, 2026
psd-tools vulnerable to arbitrary file write via smart-object filename
Medium
Local
Low
None
psd-tools: arbitrary file write/read via smart-object path traversalSummaryIn A secondary issue in DetailsWrite path —
|
1.16.0
minor
Dependencies (7)
|
|
1.15.0.post1
pre
2 CVEs
CVE-2026-59991
PYSEC-2026-4139
GHSA-8q6g-vjhf-jp8m
Oct 01, 2026
psd-tools composite/numpy has uncontrolled memory allocation via crafted PSD geometry
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
Summary
ImpactOn psd-tools 1.17.2 (latest), default usage, a 49-byte PSD makes Steps to reproduce
PoC (49 bytes), reconstruct with:
Verify:
Root causeThe composite/numpy buffer is sized from the declared image (and per-layer) dimensions and channel/depth without checking them against the available data length or a sane maximum. Suggested fixValidate the declared dimensions, channel count, and per-layer rectangles against the actual file length (and a configurable maximum pixel/byte budget) before allocating; raise an error on overflow instead of committing the buffer and returning a black image. Affected versions
0.1.1
0.1.2
0.1.3
0.1.4
0.10
0.2
0.5
0.6
0.7
0.7.1
0.8
0.8.1
+ 106 more Show less
0.8.2
0.8.3
0.8.4
0.9
0.9.1
1.0
1.1
1.10.0
1.10.1
1.10.10
1.10.11
1.10.12
1.10.13
1.10.2
1.10.3
1.10.4
1.10.5
1.10.6
1.10.7
1.10.8
1.10.9
1.11.0
1.11.1
1.12.0
1.12.1
1.12.2
1.13.0
1.13.1
1.14.0
1.14.1
1.14.2
1.14.3
1.15.0.post1
1.16.0
1.17.0
1.17.1
1.17.2
1.17.3
1.2
1.3
1.4
1.8.10
1.8.11
1.8.12
1.8.13
1.8.14
1.8.15
1.8.16
1.8.17
1.8.18
1.8.19
1.8.20
1.8.21
1.8.22
1.8.23
1.8.24
1.8.25
1.8.26
1.8.27
1.8.28
1.8.29
1.8.30
1.8.31
1.8.32
1.8.33
1.8.34
1.8.35
1.8.36
1.8.37
1.8.38
1.8.8
1.8.9
1.9.0
1.9.1
1.9.10
1.9.11
1.9.12
1.9.13
1.9.14
1.9.15
1.9.16
1.9.17
1.9.18
1.9.19
1.9.2
1.9.20
1.9.21
1.9.22
1.9.23
1.9.24
1.9.26
1.9.27
1.9.28
1.9.29
1.9.3
1.9.30
1.9.31
1.9.32
1.9.33
1.9.34
1.9.4
1.9.5
1.9.6
1.9.7
1.9.8
1.9.9
Fixed in
1.17.4
References
Updated Oct 01, 2026 · Source: OSV.dev
CVE-2026-49836
PYSEC-2026-2969
GHSA-2rmg-vrx8-9j2f
Jul 13, 2026
psd-tools vulnerable to arbitrary file write via smart-object filename
Medium
Local
Low
None
psd-tools: arbitrary file write/read via smart-object path traversalSummaryIn A secondary issue in DetailsWrite path —
|
1.15.0.post1
pre
Dependencies (7)
|
|
1.14.3
patch
2 CVEs
CVE-2026-59991
PYSEC-2026-4139
GHSA-8q6g-vjhf-jp8m
Oct 01, 2026
psd-tools composite/numpy has uncontrolled memory allocation via crafted PSD geometry
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
Summary
ImpactOn psd-tools 1.17.2 (latest), default usage, a 49-byte PSD makes Steps to reproduce
PoC (49 bytes), reconstruct with:
Verify:
Root causeThe composite/numpy buffer is sized from the declared image (and per-layer) dimensions and channel/depth without checking them against the available data length or a sane maximum. Suggested fixValidate the declared dimensions, channel count, and per-layer rectangles against the actual file length (and a configurable maximum pixel/byte budget) before allocating; raise an error on overflow instead of committing the buffer and returning a black image. Affected versions
0.1.1
0.1.2
0.1.3
0.1.4
0.10
0.2
0.5
0.6
0.7
0.7.1
0.8
0.8.1
+ 106 more Show less
0.8.2
0.8.3
0.8.4
0.9
0.9.1
1.0
1.1
1.10.0
1.10.1
1.10.10
1.10.11
1.10.12
1.10.13
1.10.2
1.10.3
1.10.4
1.10.5
1.10.6
1.10.7
1.10.8
1.10.9
1.11.0
1.11.1
1.12.0
1.12.1
1.12.2
1.13.0
1.13.1
1.14.0
1.14.1
1.14.2
1.14.3
1.15.0.post1
1.16.0
1.17.0
1.17.1
1.17.2
1.17.3
1.2
1.3
1.4
1.8.10
1.8.11
1.8.12
1.8.13
1.8.14
1.8.15
1.8.16
1.8.17
1.8.18
1.8.19
1.8.20
1.8.21
1.8.22
1.8.23
1.8.24
1.8.25
1.8.26
1.8.27
1.8.28
1.8.29
1.8.30
1.8.31
1.8.32
1.8.33
1.8.34
1.8.35
1.8.36
1.8.37
1.8.38
1.8.8
1.8.9
1.9.0
1.9.1
1.9.10
1.9.11
1.9.12
1.9.13
1.9.14
1.9.15
1.9.16
1.9.17
1.9.18
1.9.19
1.9.2
1.9.20
1.9.21
1.9.22
1.9.23
1.9.24
1.9.26
1.9.27
1.9.28
1.9.29
1.9.3
1.9.30
1.9.31
1.9.32
1.9.33
1.9.34
1.9.4
1.9.5
1.9.6
1.9.7
1.9.8
1.9.9
Fixed in
1.17.4
References
Updated Oct 01, 2026 · Source: OSV.dev
CVE-2026-49836
PYSEC-2026-2969
GHSA-2rmg-vrx8-9j2f
Jul 13, 2026
psd-tools vulnerable to arbitrary file write via smart-object filename
Medium
Local
Low
None
psd-tools: arbitrary file write/read via smart-object path traversalSummaryIn A secondary issue in DetailsWrite path —
|
1.14.3
patch
Dependencies (7)
|
|
1.14.2
patch
2 CVEs
CVE-2026-59991
PYSEC-2026-4139
GHSA-8q6g-vjhf-jp8m
Oct 01, 2026
psd-tools composite/numpy has uncontrolled memory allocation via crafted PSD geometry
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
Summary
ImpactOn psd-tools 1.17.2 (latest), default usage, a 49-byte PSD makes Steps to reproduce
PoC (49 bytes), reconstruct with:
Verify:
Root causeThe composite/numpy buffer is sized from the declared image (and per-layer) dimensions and channel/depth without checking them against the available data length or a sane maximum. Suggested fixValidate the declared dimensions, channel count, and per-layer rectangles against the actual file length (and a configurable maximum pixel/byte budget) before allocating; raise an error on overflow instead of committing the buffer and returning a black image. Affected versions
0.1.1
0.1.2
0.1.3
0.1.4
0.10
0.2
0.5
0.6
0.7
0.7.1
0.8
0.8.1
+ 106 more Show less
0.8.2
0.8.3
0.8.4
0.9
0.9.1
1.0
1.1
1.10.0
1.10.1
1.10.10
1.10.11
1.10.12
1.10.13
1.10.2
1.10.3
1.10.4
1.10.5
1.10.6
1.10.7
1.10.8
1.10.9
1.11.0
1.11.1
1.12.0
1.12.1
1.12.2
1.13.0
1.13.1
1.14.0
1.14.1
1.14.2
1.14.3
1.15.0.post1
1.16.0
1.17.0
1.17.1
1.17.2
1.17.3
1.2
1.3
1.4
1.8.10
1.8.11
1.8.12
1.8.13
1.8.14
1.8.15
1.8.16
1.8.17
1.8.18
1.8.19
1.8.20
1.8.21
1.8.22
1.8.23
1.8.24
1.8.25
1.8.26
1.8.27
1.8.28
1.8.29
1.8.30
1.8.31
1.8.32
1.8.33
1.8.34
1.8.35
1.8.36
1.8.37
1.8.38
1.8.8
1.8.9
1.9.0
1.9.1
1.9.10
1.9.11
1.9.12
1.9.13
1.9.14
1.9.15
1.9.16
1.9.17
1.9.18
1.9.19
1.9.2
1.9.20
1.9.21
1.9.22
1.9.23
1.9.24
1.9.26
1.9.27
1.9.28
1.9.29
1.9.3
1.9.30
1.9.31
1.9.32
1.9.33
1.9.34
1.9.4
1.9.5
1.9.6
1.9.7
1.9.8
1.9.9
Fixed in
1.17.4
References
Updated Oct 01, 2026 · Source: OSV.dev
CVE-2026-49836
PYSEC-2026-2969
GHSA-2rmg-vrx8-9j2f
Jul 13, 2026
psd-tools vulnerable to arbitrary file write via smart-object filename
Medium
Local
Low
None
psd-tools: arbitrary file write/read via smart-object path traversalSummaryIn A secondary issue in DetailsWrite path —
|
1.14.2
patch
Dependencies (7)
|
|
1.14.1
patch
2 CVEs
CVE-2026-59991
PYSEC-2026-4139
GHSA-8q6g-vjhf-jp8m
Oct 01, 2026
psd-tools composite/numpy has uncontrolled memory allocation via crafted PSD geometry
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
Summary
ImpactOn psd-tools 1.17.2 (latest), default usage, a 49-byte PSD makes Steps to reproduce
PoC (49 bytes), reconstruct with:
Verify:
Root causeThe composite/numpy buffer is sized from the declared image (and per-layer) dimensions and channel/depth without checking them against the available data length or a sane maximum. Suggested fixValidate the declared dimensions, channel count, and per-layer rectangles against the actual file length (and a configurable maximum pixel/byte budget) before allocating; raise an error on overflow instead of committing the buffer and returning a black image. Affected versions
0.1.1
0.1.2
0.1.3
0.1.4
0.10
0.2
0.5
0.6
0.7
0.7.1
0.8
0.8.1
+ 106 more Show less
0.8.2
0.8.3
0.8.4
0.9
0.9.1
1.0
1.1
1.10.0
1.10.1
1.10.10
1.10.11
1.10.12
1.10.13
1.10.2
1.10.3
1.10.4
1.10.5
1.10.6
1.10.7
1.10.8
1.10.9
1.11.0
1.11.1
1.12.0
1.12.1
1.12.2
1.13.0
1.13.1
1.14.0
1.14.1
1.14.2
1.14.3
1.15.0.post1
1.16.0
1.17.0
1.17.1
1.17.2
1.17.3
1.2
1.3
1.4
1.8.10
1.8.11
1.8.12
1.8.13
1.8.14
1.8.15
1.8.16
1.8.17
1.8.18
1.8.19
1.8.20
1.8.21
1.8.22
1.8.23
1.8.24
1.8.25
1.8.26
1.8.27
1.8.28
1.8.29
1.8.30
1.8.31
1.8.32
1.8.33
1.8.34
1.8.35
1.8.36
1.8.37
1.8.38
1.8.8
1.8.9
1.9.0
1.9.1
1.9.10
1.9.11
1.9.12
1.9.13
1.9.14
1.9.15
1.9.16
1.9.17
1.9.18
1.9.19
1.9.2
1.9.20
1.9.21
1.9.22
1.9.23
1.9.24
1.9.26
1.9.27
1.9.28
1.9.29
1.9.3
1.9.30
1.9.31
1.9.32
1.9.33
1.9.34
1.9.4
1.9.5
1.9.6
1.9.7
1.9.8
1.9.9
Fixed in
1.17.4
References
Updated Oct 01, 2026 · Source: OSV.dev
CVE-2026-49836
PYSEC-2026-2969
GHSA-2rmg-vrx8-9j2f
Jul 13, 2026
psd-tools vulnerable to arbitrary file write via smart-object filename
Medium
Local
Low
None
psd-tools: arbitrary file write/read via smart-object path traversalSummaryIn A secondary issue in DetailsWrite path —
|
1.14.1
patch
Dependencies (7)
|
|
1.14.0
minor
2 CVEs
CVE-2026-59991
PYSEC-2026-4139
GHSA-8q6g-vjhf-jp8m
Oct 01, 2026
psd-tools composite/numpy has uncontrolled memory allocation via crafted PSD geometry
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
Summary
ImpactOn psd-tools 1.17.2 (latest), default usage, a 49-byte PSD makes Steps to reproduce
PoC (49 bytes), reconstruct with:
Verify:
Root causeThe composite/numpy buffer is sized from the declared image (and per-layer) dimensions and channel/depth without checking them against the available data length or a sane maximum. Suggested fixValidate the declared dimensions, channel count, and per-layer rectangles against the actual file length (and a configurable maximum pixel/byte budget) before allocating; raise an error on overflow instead of committing the buffer and returning a black image. Affected versions
0.1.1
0.1.2
0.1.3
0.1.4
0.10
0.2
0.5
0.6
0.7
0.7.1
0.8
0.8.1
+ 106 more Show less
0.8.2
0.8.3
0.8.4
0.9
0.9.1
1.0
1.1
1.10.0
1.10.1
1.10.10
1.10.11
1.10.12
1.10.13
1.10.2
1.10.3
1.10.4
1.10.5
1.10.6
1.10.7
1.10.8
1.10.9
1.11.0
1.11.1
1.12.0
1.12.1
1.12.2
1.13.0
1.13.1
1.14.0
1.14.1
1.14.2
1.14.3
1.15.0.post1
1.16.0
1.17.0
1.17.1
1.17.2
1.17.3
1.2
1.3
1.4
1.8.10
1.8.11
1.8.12
1.8.13
1.8.14
1.8.15
1.8.16
1.8.17
1.8.18
1.8.19
1.8.20
1.8.21
1.8.22
1.8.23
1.8.24
1.8.25
1.8.26
1.8.27
1.8.28
1.8.29
1.8.30
1.8.31
1.8.32
1.8.33
1.8.34
1.8.35
1.8.36
1.8.37
1.8.38
1.8.8
1.8.9
1.9.0
1.9.1
1.9.10
1.9.11
1.9.12
1.9.13
1.9.14
1.9.15
1.9.16
1.9.17
1.9.18
1.9.19
1.9.2
1.9.20
1.9.21
1.9.22
1.9.23
1.9.24
1.9.26
1.9.27
1.9.28
1.9.29
1.9.3
1.9.30
1.9.31
1.9.32
1.9.33
1.9.34
1.9.4
1.9.5
1.9.6
1.9.7
1.9.8
1.9.9
Fixed in
1.17.4
References
Updated Oct 01, 2026 · Source: OSV.dev
CVE-2026-49836
PYSEC-2026-2969
GHSA-2rmg-vrx8-9j2f
Jul 13, 2026
psd-tools vulnerable to arbitrary file write via smart-object filename
Medium
Local
Low
None
psd-tools: arbitrary file write/read via smart-object path traversalSummaryIn A secondary issue in DetailsWrite path —
|
1.14.0
minor
Dependencies (7)
|
|
1.13.1
patch
2 CVEs
CVE-2026-59991
PYSEC-2026-4139
GHSA-8q6g-vjhf-jp8m
Oct 01, 2026
psd-tools composite/numpy has uncontrolled memory allocation via crafted PSD geometry
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
Summary
ImpactOn psd-tools 1.17.2 (latest), default usage, a 49-byte PSD makes Steps to reproduce
PoC (49 bytes), reconstruct with:
Verify:
Root causeThe composite/numpy buffer is sized from the declared image (and per-layer) dimensions and channel/depth without checking them against the available data length or a sane maximum. Suggested fixValidate the declared dimensions, channel count, and per-layer rectangles against the actual file length (and a configurable maximum pixel/byte budget) before allocating; raise an error on overflow instead of committing the buffer and returning a black image. Affected versions
0.1.1
0.1.2
0.1.3
0.1.4
0.10
0.2
0.5
0.6
0.7
0.7.1
0.8
0.8.1
+ 106 more Show less
0.8.2
0.8.3
0.8.4
0.9
0.9.1
1.0
1.1
1.10.0
1.10.1
1.10.10
1.10.11
1.10.12
1.10.13
1.10.2
1.10.3
1.10.4
1.10.5
1.10.6
1.10.7
1.10.8
1.10.9
1.11.0
1.11.1
1.12.0
1.12.1
1.12.2
1.13.0
1.13.1
1.14.0
1.14.1
1.14.2
1.14.3
1.15.0.post1
1.16.0
1.17.0
1.17.1
1.17.2
1.17.3
1.2
1.3
1.4
1.8.10
1.8.11
1.8.12
1.8.13
1.8.14
1.8.15
1.8.16
1.8.17
1.8.18
1.8.19
1.8.20
1.8.21
1.8.22
1.8.23
1.8.24
1.8.25
1.8.26
1.8.27
1.8.28
1.8.29
1.8.30
1.8.31
1.8.32
1.8.33
1.8.34
1.8.35
1.8.36
1.8.37
1.8.38
1.8.8
1.8.9
1.9.0
1.9.1
1.9.10
1.9.11
1.9.12
1.9.13
1.9.14
1.9.15
1.9.16
1.9.17
1.9.18
1.9.19
1.9.2
1.9.20
1.9.21
1.9.22
1.9.23
1.9.24
1.9.26
1.9.27
1.9.28
1.9.29
1.9.3
1.9.30
1.9.31
1.9.32
1.9.33
1.9.34
1.9.4
1.9.5
1.9.6
1.9.7
1.9.8
1.9.9
Fixed in
1.17.4
References
Updated Oct 01, 2026 · Source: OSV.dev
CVE-2026-49836
PYSEC-2026-2969
GHSA-2rmg-vrx8-9j2f
Jul 13, 2026
psd-tools vulnerable to arbitrary file write via smart-object filename
Medium
Local
Low
None
psd-tools: arbitrary file write/read via smart-object path traversalSummaryIn A secondary issue in DetailsWrite path —
|
1.13.1
patch
Dependencies (7)
|
|
1.13.0
minor
2 CVEs
CVE-2026-59991
PYSEC-2026-4139
GHSA-8q6g-vjhf-jp8m
Oct 01, 2026
psd-tools composite/numpy has uncontrolled memory allocation via crafted PSD geometry
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
Summary
ImpactOn psd-tools 1.17.2 (latest), default usage, a 49-byte PSD makes Steps to reproduce
PoC (49 bytes), reconstruct with:
Verify:
Root causeThe composite/numpy buffer is sized from the declared image (and per-layer) dimensions and channel/depth without checking them against the available data length or a sane maximum. Suggested fixValidate the declared dimensions, channel count, and per-layer rectangles against the actual file length (and a configurable maximum pixel/byte budget) before allocating; raise an error on overflow instead of committing the buffer and returning a black image. Affected versions
0.1.1
0.1.2
0.1.3
0.1.4
0.10
0.2
0.5
0.6
0.7
0.7.1
0.8
0.8.1
+ 106 more Show less
0.8.2
0.8.3
0.8.4
0.9
0.9.1
1.0
1.1
1.10.0
1.10.1
1.10.10
1.10.11
1.10.12
1.10.13
1.10.2
1.10.3
1.10.4
1.10.5
1.10.6
1.10.7
1.10.8
1.10.9
1.11.0
1.11.1
1.12.0
1.12.1
1.12.2
1.13.0
1.13.1
1.14.0
1.14.1
1.14.2
1.14.3
1.15.0.post1
1.16.0
1.17.0
1.17.1
1.17.2
1.17.3
1.2
1.3
1.4
1.8.10
1.8.11
1.8.12
1.8.13
1.8.14
1.8.15
1.8.16
1.8.17
1.8.18
1.8.19
1.8.20
1.8.21
1.8.22
1.8.23
1.8.24
1.8.25
1.8.26
1.8.27
1.8.28
1.8.29
1.8.30
1.8.31
1.8.32
1.8.33
1.8.34
1.8.35
1.8.36
1.8.37
1.8.38
1.8.8
1.8.9
1.9.0
1.9.1
1.9.10
1.9.11
1.9.12
1.9.13
1.9.14
1.9.15
1.9.16
1.9.17
1.9.18
1.9.19
1.9.2
1.9.20
1.9.21
1.9.22
1.9.23
1.9.24
1.9.26
1.9.27
1.9.28
1.9.29
1.9.3
1.9.30
1.9.31
1.9.32
1.9.33
1.9.34
1.9.4
1.9.5
1.9.6
1.9.7
1.9.8
1.9.9
Fixed in
1.17.4
References
Updated Oct 01, 2026 · Source: OSV.dev
CVE-2026-49836
PYSEC-2026-2969
GHSA-2rmg-vrx8-9j2f
Jul 13, 2026
psd-tools vulnerable to arbitrary file write via smart-object filename
Medium
Local
Low
None
psd-tools: arbitrary file write/read via smart-object path traversalSummaryIn A secondary issue in DetailsWrite path —
|
1.13.0
minor
Dependencies (7)
|
|
1.12.2
patch
2 CVEs
CVE-2026-59991
PYSEC-2026-4139
GHSA-8q6g-vjhf-jp8m
Oct 01, 2026
psd-tools composite/numpy has uncontrolled memory allocation via crafted PSD geometry
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
Summary
ImpactOn psd-tools 1.17.2 (latest), default usage, a 49-byte PSD makes Steps to reproduce
PoC (49 bytes), reconstruct with:
Verify:
Root causeThe composite/numpy buffer is sized from the declared image (and per-layer) dimensions and channel/depth without checking them against the available data length or a sane maximum. Suggested fixValidate the declared dimensions, channel count, and per-layer rectangles against the actual file length (and a configurable maximum pixel/byte budget) before allocating; raise an error on overflow instead of committing the buffer and returning a black image. Affected versions
0.1.1
0.1.2
0.1.3
0.1.4
0.10
0.2
0.5
0.6
0.7
0.7.1
0.8
0.8.1
+ 106 more Show less
0.8.2
0.8.3
0.8.4
0.9
0.9.1
1.0
1.1
1.10.0
1.10.1
1.10.10
1.10.11
1.10.12
1.10.13
1.10.2
1.10.3
1.10.4
1.10.5
1.10.6
1.10.7
1.10.8
1.10.9
1.11.0
1.11.1
1.12.0
1.12.1
1.12.2
1.13.0
1.13.1
1.14.0
1.14.1
1.14.2
1.14.3
1.15.0.post1
1.16.0
1.17.0
1.17.1
1.17.2
1.17.3
1.2
1.3
1.4
1.8.10
1.8.11
1.8.12
1.8.13
1.8.14
1.8.15
1.8.16
1.8.17
1.8.18
1.8.19
1.8.20
1.8.21
1.8.22
1.8.23
1.8.24
1.8.25
1.8.26
1.8.27
1.8.28
1.8.29
1.8.30
1.8.31
1.8.32
1.8.33
1.8.34
1.8.35
1.8.36
1.8.37
1.8.38
1.8.8
1.8.9
1.9.0
1.9.1
1.9.10
1.9.11
1.9.12
1.9.13
1.9.14
1.9.15
1.9.16
1.9.17
1.9.18
1.9.19
1.9.2
1.9.20
1.9.21
1.9.22
1.9.23
1.9.24
1.9.26
1.9.27
1.9.28
1.9.29
1.9.3
1.9.30
1.9.31
1.9.32
1.9.33
1.9.34
1.9.4
1.9.5
1.9.6
1.9.7
1.9.8
1.9.9
Fixed in
1.17.4
References
Updated Oct 01, 2026 · Source: OSV.dev
CVE-2026-49836
PYSEC-2026-2969
GHSA-2rmg-vrx8-9j2f
Jul 13, 2026
psd-tools vulnerable to arbitrary file write via smart-object filename
Medium
Local
Low
None
psd-tools: arbitrary file write/read via smart-object path traversalSummaryIn A secondary issue in DetailsWrite path —
|
1.12.2
patch
Dependencies (7)
|
|
1.12.1
patch
3 CVEs
CVE-2026-59991
PYSEC-2026-4139
GHSA-8q6g-vjhf-jp8m
Oct 01, 2026
psd-tools composite/numpy has uncontrolled memory allocation via crafted PSD geometry
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
Summary
ImpactOn psd-tools 1.17.2 (latest), default usage, a 49-byte PSD makes Steps to reproduce
PoC (49 bytes), reconstruct with:
Verify:
Root causeThe composite/numpy buffer is sized from the declared image (and per-layer) dimensions and channel/depth without checking them against the available data length or a sane maximum. Suggested fixValidate the declared dimensions, channel count, and per-layer rectangles against the actual file length (and a configurable maximum pixel/byte budget) before allocating; raise an error on overflow instead of committing the buffer and returning a black image. Affected versions
0.1.1
0.1.2
0.1.3
0.1.4
0.10
0.2
0.5
0.6
0.7
0.7.1
0.8
0.8.1
+ 106 more Show less
0.8.2
0.8.3
0.8.4
0.9
0.9.1
1.0
1.1
1.10.0
1.10.1
1.10.10
1.10.11
1.10.12
1.10.13
1.10.2
1.10.3
1.10.4
1.10.5
1.10.6
1.10.7
1.10.8
1.10.9
1.11.0
1.11.1
1.12.0
1.12.1
1.12.2
1.13.0
1.13.1
1.14.0
1.14.1
1.14.2
1.14.3
1.15.0.post1
1.16.0
1.17.0
1.17.1
1.17.2
1.17.3
1.2
1.3
1.4
1.8.10
1.8.11
1.8.12
1.8.13
1.8.14
1.8.15
1.8.16
1.8.17
1.8.18
1.8.19
1.8.20
1.8.21
1.8.22
1.8.23
1.8.24
1.8.25
1.8.26
1.8.27
1.8.28
1.8.29
1.8.30
1.8.31
1.8.32
1.8.33
1.8.34
1.8.35
1.8.36
1.8.37
1.8.38
1.8.8
1.8.9
1.9.0
1.9.1
1.9.10
1.9.11
1.9.12
1.9.13
1.9.14
1.9.15
1.9.16
1.9.17
1.9.18
1.9.19
1.9.2
1.9.20
1.9.21
1.9.22
1.9.23
1.9.24
1.9.26
1.9.27
1.9.28
1.9.29
1.9.3
1.9.30
1.9.31
1.9.32
1.9.33
1.9.34
1.9.4
1.9.5
1.9.6
1.9.7
1.9.8
1.9.9
Fixed in
1.17.4
References
Updated Oct 01, 2026 · Source: OSV.dev
CVE-2026-49836
PYSEC-2026-2969
GHSA-2rmg-vrx8-9j2f
Jul 13, 2026
psd-tools vulnerable to arbitrary file write via smart-object filename
Medium
Local
Low
None
psd-tools: arbitrary file write/read via smart-object path traversalSummaryIn A secondary issue in DetailsWrite path —
|
1.12.1
patch
Dependencies (7)
|
|
1.12.0
minor
3 CVEs
CVE-2026-59991
PYSEC-2026-4139
GHSA-8q6g-vjhf-jp8m
Oct 01, 2026
psd-tools composite/numpy has uncontrolled memory allocation via crafted PSD geometry
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
Summary
ImpactOn psd-tools 1.17.2 (latest), default usage, a 49-byte PSD makes Steps to reproduce
PoC (49 bytes), reconstruct with:
Verify:
Root causeThe composite/numpy buffer is sized from the declared image (and per-layer) dimensions and channel/depth without checking them against the available data length or a sane maximum. Suggested fixValidate the declared dimensions, channel count, and per-layer rectangles against the actual file length (and a configurable maximum pixel/byte budget) before allocating; raise an error on overflow instead of committing the buffer and returning a black image. Affected versions
0.1.1
0.1.2
0.1.3
0.1.4
0.10
0.2
0.5
0.6
0.7
0.7.1
0.8
0.8.1
+ 106 more Show less
0.8.2
0.8.3
0.8.4
0.9
0.9.1
1.0
1.1
1.10.0
1.10.1
1.10.10
1.10.11
1.10.12
1.10.13
1.10.2
1.10.3
1.10.4
1.10.5
1.10.6
1.10.7
1.10.8
1.10.9
1.11.0
1.11.1
1.12.0
1.12.1
1.12.2
1.13.0
1.13.1
1.14.0
1.14.1
1.14.2
1.14.3
1.15.0.post1
1.16.0
1.17.0
1.17.1
1.17.2
1.17.3
1.2
1.3
1.4
1.8.10
1.8.11
1.8.12
1.8.13
1.8.14
1.8.15
1.8.16
1.8.17
1.8.18
1.8.19
1.8.20
1.8.21
1.8.22
1.8.23
1.8.24
1.8.25
1.8.26
1.8.27
1.8.28
1.8.29
1.8.30
1.8.31
1.8.32
1.8.33
1.8.34
1.8.35
1.8.36
1.8.37
1.8.38
1.8.8
1.8.9
1.9.0
1.9.1
1.9.10
1.9.11
1.9.12
1.9.13
1.9.14
1.9.15
1.9.16
1.9.17
1.9.18
1.9.19
1.9.2
1.9.20
1.9.21
1.9.22
1.9.23
1.9.24
1.9.26
1.9.27
1.9.28
1.9.29
1.9.3
1.9.30
1.9.31
1.9.32
1.9.33
1.9.34
1.9.4
1.9.5
1.9.6
1.9.7
1.9.8
1.9.9
Fixed in
1.17.4
References
Updated Oct 01, 2026 · Source: OSV.dev
CVE-2026-49836
PYSEC-2026-2969
GHSA-2rmg-vrx8-9j2f
Jul 13, 2026
psd-tools vulnerable to arbitrary file write via smart-object filename
Medium
Local
Low
None
psd-tools: arbitrary file write/read via smart-object path traversalSummaryIn A secondary issue in DetailsWrite path —
|
1.12.0
minor
Dependencies (7)
|
|
1.11.1
patch
3 CVEs
CVE-2026-59991
PYSEC-2026-4139
GHSA-8q6g-vjhf-jp8m
Oct 01, 2026
psd-tools composite/numpy has uncontrolled memory allocation via crafted PSD geometry
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
Summary
ImpactOn psd-tools 1.17.2 (latest), default usage, a 49-byte PSD makes Steps to reproduce
PoC (49 bytes), reconstruct with:
Verify:
Root causeThe composite/numpy buffer is sized from the declared image (and per-layer) dimensions and channel/depth without checking them against the available data length or a sane maximum. Suggested fixValidate the declared dimensions, channel count, and per-layer rectangles against the actual file length (and a configurable maximum pixel/byte budget) before allocating; raise an error on overflow instead of committing the buffer and returning a black image. Affected versions
0.1.1
0.1.2
0.1.3
0.1.4
0.10
0.2
0.5
0.6
0.7
0.7.1
0.8
0.8.1
+ 106 more Show less
0.8.2
0.8.3
0.8.4
0.9
0.9.1
1.0
1.1
1.10.0
1.10.1
1.10.10
1.10.11
1.10.12
1.10.13
1.10.2
1.10.3
1.10.4
1.10.5
1.10.6
1.10.7
1.10.8
1.10.9
1.11.0
1.11.1
1.12.0
1.12.1
1.12.2
1.13.0
1.13.1
1.14.0
1.14.1
1.14.2
1.14.3
1.15.0.post1
1.16.0
1.17.0
1.17.1
1.17.2
1.17.3
1.2
1.3
1.4
1.8.10
1.8.11
1.8.12
1.8.13
1.8.14
1.8.15
1.8.16
1.8.17
1.8.18
1.8.19
1.8.20
1.8.21
1.8.22
1.8.23
1.8.24
1.8.25
1.8.26
1.8.27
1.8.28
1.8.29
1.8.30
1.8.31
1.8.32
1.8.33
1.8.34
1.8.35
1.8.36
1.8.37
1.8.38
1.8.8
1.8.9
1.9.0
1.9.1
1.9.10
1.9.11
1.9.12
1.9.13
1.9.14
1.9.15
1.9.16
1.9.17
1.9.18
1.9.19
1.9.2
1.9.20
1.9.21
1.9.22
1.9.23
1.9.24
1.9.26
1.9.27
1.9.28
1.9.29
1.9.3
1.9.30
1.9.31
1.9.32
1.9.33
1.9.34
1.9.4
1.9.5
1.9.6
1.9.7
1.9.8
1.9.9
Fixed in
1.17.4
References
Updated Oct 01, 2026 · Source: OSV.dev
CVE-2026-49836
PYSEC-2026-2969
GHSA-2rmg-vrx8-9j2f
Jul 13, 2026
psd-tools vulnerable to arbitrary file write via smart-object filename
Medium
Local
Low
None
psd-tools: arbitrary file write/read via smart-object path traversalSummaryIn A secondary issue in DetailsWrite path —
|
1.11.1
patch
Dependencies (7)
|
|
1.11.0
minor
3 CVEs
CVE-2026-59991
PYSEC-2026-4139
GHSA-8q6g-vjhf-jp8m
Oct 01, 2026
psd-tools composite/numpy has uncontrolled memory allocation via crafted PSD geometry
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
Summary
ImpactOn psd-tools 1.17.2 (latest), default usage, a 49-byte PSD makes Steps to reproduce
PoC (49 bytes), reconstruct with:
Verify:
Root causeThe composite/numpy buffer is sized from the declared image (and per-layer) dimensions and channel/depth without checking them against the available data length or a sane maximum. Suggested fixValidate the declared dimensions, channel count, and per-layer rectangles against the actual file length (and a configurable maximum pixel/byte budget) before allocating; raise an error on overflow instead of committing the buffer and returning a black image. Affected versions
0.1.1
0.1.2
0.1.3
0.1.4
0.10
0.2
0.5
0.6
0.7
0.7.1
0.8
0.8.1
+ 106 more Show less
0.8.2
0.8.3
0.8.4
0.9
0.9.1
1.0
1.1
1.10.0
1.10.1
1.10.10
1.10.11
1.10.12
1.10.13
1.10.2
1.10.3
1.10.4
1.10.5
1.10.6
1.10.7
1.10.8
1.10.9
1.11.0
1.11.1
1.12.0
1.12.1
1.12.2
1.13.0
1.13.1
1.14.0
1.14.1
1.14.2
1.14.3
1.15.0.post1
1.16.0
1.17.0
1.17.1
1.17.2
1.17.3
1.2
1.3
1.4
1.8.10
1.8.11
1.8.12
1.8.13
1.8.14
1.8.15
1.8.16
1.8.17
1.8.18
1.8.19
1.8.20
1.8.21
1.8.22
1.8.23
1.8.24
1.8.25
1.8.26
1.8.27
1.8.28
1.8.29
1.8.30
1.8.31
1.8.32
1.8.33
1.8.34
1.8.35
1.8.36
1.8.37
1.8.38
1.8.8
1.8.9
1.9.0
1.9.1
1.9.10
1.9.11
1.9.12
1.9.13
1.9.14
1.9.15
1.9.16
1.9.17
1.9.18
1.9.19
1.9.2
1.9.20
1.9.21
1.9.22
1.9.23
1.9.24
1.9.26
1.9.27
1.9.28
1.9.29
1.9.3
1.9.30
1.9.31
1.9.32
1.9.33
1.9.34
1.9.4
1.9.5
1.9.6
1.9.7
1.9.8
1.9.9
Fixed in
1.17.4
References
Updated Oct 01, 2026 · Source: OSV.dev
CVE-2026-49836
PYSEC-2026-2969
GHSA-2rmg-vrx8-9j2f
Jul 13, 2026
psd-tools vulnerable to arbitrary file write via smart-object filename
Medium
Local
Low
None
psd-tools: arbitrary file write/read via smart-object path traversalSummaryIn A secondary issue in DetailsWrite path —
|
1.11.0
minor
Dependencies (7)
|
|
1.10.13
patch
3 CVEs
CVE-2026-59991
PYSEC-2026-4139
GHSA-8q6g-vjhf-jp8m
Oct 01, 2026
psd-tools composite/numpy has uncontrolled memory allocation via crafted PSD geometry
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
Summary
ImpactOn psd-tools 1.17.2 (latest), default usage, a 49-byte PSD makes Steps to reproduce
PoC (49 bytes), reconstruct with:
Verify:
Root causeThe composite/numpy buffer is sized from the declared image (and per-layer) dimensions and channel/depth without checking them against the available data length or a sane maximum. Suggested fixValidate the declared dimensions, channel count, and per-layer rectangles against the actual file length (and a configurable maximum pixel/byte budget) before allocating; raise an error on overflow instead of committing the buffer and returning a black image. Affected versions
0.1.1
0.1.2
0.1.3
0.1.4
0.10
0.2
0.5
0.6
0.7
0.7.1
0.8
0.8.1
+ 106 more Show less
0.8.2
0.8.3
0.8.4
0.9
0.9.1
1.0
1.1
1.10.0
1.10.1
1.10.10
1.10.11
1.10.12
1.10.13
1.10.2
1.10.3
1.10.4
1.10.5
1.10.6
1.10.7
1.10.8
1.10.9
1.11.0
1.11.1
1.12.0
1.12.1
1.12.2
1.13.0
1.13.1
1.14.0
1.14.1
1.14.2
1.14.3
1.15.0.post1
1.16.0
1.17.0
1.17.1
1.17.2
1.17.3
1.2
1.3
1.4
1.8.10
1.8.11
1.8.12
1.8.13
1.8.14
1.8.15
1.8.16
1.8.17
1.8.18
1.8.19
1.8.20
1.8.21
1.8.22
1.8.23
1.8.24
1.8.25
1.8.26
1.8.27
1.8.28
1.8.29
1.8.30
1.8.31
1.8.32
1.8.33
1.8.34
1.8.35
1.8.36
1.8.37
1.8.38
1.8.8
1.8.9
1.9.0
1.9.1
1.9.10
1.9.11
1.9.12
1.9.13
1.9.14
1.9.15
1.9.16
1.9.17
1.9.18
1.9.19
1.9.2
1.9.20
1.9.21
1.9.22
1.9.23
1.9.24
1.9.26
1.9.27
1.9.28
1.9.29
1.9.3
1.9.30
1.9.31
1.9.32
1.9.33
1.9.34
1.9.4
1.9.5
1.9.6
1.9.7
1.9.8
1.9.9
Fixed in
1.17.4
References
Updated Oct 01, 2026 · Source: OSV.dev
CVE-2026-49836
PYSEC-2026-2969
GHSA-2rmg-vrx8-9j2f
Jul 13, 2026
psd-tools vulnerable to arbitrary file write via smart-object filename
Medium
Local
Low
None
psd-tools: arbitrary file write/read via smart-object path traversalSummaryIn A secondary issue in DetailsWrite path —
|
1.10.13
patch
Dependencies (7)
|
|
1.10.12
patch
3 CVEs
CVE-2026-59991
PYSEC-2026-4139
GHSA-8q6g-vjhf-jp8m
Oct 01, 2026
psd-tools composite/numpy has uncontrolled memory allocation via crafted PSD geometry
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
Summary
ImpactOn psd-tools 1.17.2 (latest), default usage, a 49-byte PSD makes Steps to reproduce
PoC (49 bytes), reconstruct with:
Verify:
Root causeThe composite/numpy buffer is sized from the declared image (and per-layer) dimensions and channel/depth without checking them against the available data length or a sane maximum. Suggested fixValidate the declared dimensions, channel count, and per-layer rectangles against the actual file length (and a configurable maximum pixel/byte budget) before allocating; raise an error on overflow instead of committing the buffer and returning a black image. Affected versions
0.1.1
0.1.2
0.1.3
0.1.4
0.10
0.2
0.5
0.6
0.7
0.7.1
0.8
0.8.1
+ 106 more Show less
0.8.2
0.8.3
0.8.4
0.9
0.9.1
1.0
1.1
1.10.0
1.10.1
1.10.10
1.10.11
1.10.12
1.10.13
1.10.2
1.10.3
1.10.4
1.10.5
1.10.6
1.10.7
1.10.8
1.10.9
1.11.0
1.11.1
1.12.0
1.12.1
1.12.2
1.13.0
1.13.1
1.14.0
1.14.1
1.14.2
1.14.3
1.15.0.post1
1.16.0
1.17.0
1.17.1
1.17.2
1.17.3
1.2
1.3
1.4
1.8.10
1.8.11
1.8.12
1.8.13
1.8.14
1.8.15
1.8.16
1.8.17
1.8.18
1.8.19
1.8.20
1.8.21
1.8.22
1.8.23
1.8.24
1.8.25
1.8.26
1.8.27
1.8.28
1.8.29
1.8.30
1.8.31
1.8.32
1.8.33
1.8.34
1.8.35
1.8.36
1.8.37
1.8.38
1.8.8
1.8.9
1.9.0
1.9.1
1.9.10
1.9.11
1.9.12
1.9.13
1.9.14
1.9.15
1.9.16
1.9.17
1.9.18
1.9.19
1.9.2
1.9.20
1.9.21
1.9.22
1.9.23
1.9.24
1.9.26
1.9.27
1.9.28
1.9.29
1.9.3
1.9.30
1.9.31
1.9.32
1.9.33
1.9.34
1.9.4
1.9.5
1.9.6
1.9.7
1.9.8
1.9.9
Fixed in
1.17.4
References
Updated Oct 01, 2026 · Source: OSV.dev
CVE-2026-49836
PYSEC-2026-2969
GHSA-2rmg-vrx8-9j2f
Jul 13, 2026
psd-tools vulnerable to arbitrary file write via smart-object filename
Medium
Local
Low
None
psd-tools: arbitrary file write/read via smart-object path traversalSummaryIn A secondary issue in DetailsWrite path —
|
1.10.12
patch
Dependencies (7)
|
|
1.10.11
patch
3 CVEs
CVE-2026-59991
PYSEC-2026-4139
GHSA-8q6g-vjhf-jp8m
Oct 01, 2026
psd-tools composite/numpy has uncontrolled memory allocation via crafted PSD geometry
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
Summary
ImpactOn psd-tools 1.17.2 (latest), default usage, a 49-byte PSD makes Steps to reproduce
PoC (49 bytes), reconstruct with:
Verify:
Root causeThe composite/numpy buffer is sized from the declared image (and per-layer) dimensions and channel/depth without checking them against the available data length or a sane maximum. Suggested fixValidate the declared dimensions, channel count, and per-layer rectangles against the actual file length (and a configurable maximum pixel/byte budget) before allocating; raise an error on overflow instead of committing the buffer and returning a black image. Affected versions
0.1.1
0.1.2
0.1.3
0.1.4
0.10
0.2
0.5
0.6
0.7
0.7.1
0.8
0.8.1
+ 106 more Show less
0.8.2
0.8.3
0.8.4
0.9
0.9.1
1.0
1.1
1.10.0
1.10.1
1.10.10
1.10.11
1.10.12
1.10.13
1.10.2
1.10.3
1.10.4
1.10.5
1.10.6
1.10.7
1.10.8
1.10.9
1.11.0
1.11.1
1.12.0
1.12.1
1.12.2
1.13.0
1.13.1
1.14.0
1.14.1
1.14.2
1.14.3
1.15.0.post1
1.16.0
1.17.0
1.17.1
1.17.2
1.17.3
1.2
1.3
1.4
1.8.10
1.8.11
1.8.12
1.8.13
1.8.14
1.8.15
1.8.16
1.8.17
1.8.18
1.8.19
1.8.20
1.8.21
1.8.22
1.8.23
1.8.24
1.8.25
1.8.26
1.8.27
1.8.28
1.8.29
1.8.30
1.8.31
1.8.32
1.8.33
1.8.34
1.8.35
1.8.36
1.8.37
1.8.38
1.8.8
1.8.9
1.9.0
1.9.1
1.9.10
1.9.11
1.9.12
1.9.13
1.9.14
1.9.15
1.9.16
1.9.17
1.9.18
1.9.19
1.9.2
1.9.20
1.9.21
1.9.22
1.9.23
1.9.24
1.9.26
1.9.27
1.9.28
1.9.29
1.9.3
1.9.30
1.9.31
1.9.32
1.9.33
1.9.34
1.9.4
1.9.5
1.9.6
1.9.7
1.9.8
1.9.9
Fixed in
1.17.4
References
Updated Oct 01, 2026 · Source: OSV.dev
CVE-2026-49836
PYSEC-2026-2969
GHSA-2rmg-vrx8-9j2f
Jul 13, 2026
psd-tools vulnerable to arbitrary file write via smart-object filename
Medium
Local
Low
None
psd-tools: arbitrary file write/read via smart-object path traversalSummaryIn A secondary issue in DetailsWrite path —
|
1.10.11
patch
Dependencies (8)
|
|
1.10.10
patch
3 CVEs
CVE-2026-59991
PYSEC-2026-4139
GHSA-8q6g-vjhf-jp8m
Oct 01, 2026
psd-tools composite/numpy has uncontrolled memory allocation via crafted PSD geometry
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
Summary
ImpactOn psd-tools 1.17.2 (latest), default usage, a 49-byte PSD makes Steps to reproduce
PoC (49 bytes), reconstruct with:
Verify:
Root causeThe composite/numpy buffer is sized from the declared image (and per-layer) dimensions and channel/depth without checking them against the available data length or a sane maximum. Suggested fixValidate the declared dimensions, channel count, and per-layer rectangles against the actual file length (and a configurable maximum pixel/byte budget) before allocating; raise an error on overflow instead of committing the buffer and returning a black image. Affected versions
0.1.1
0.1.2
0.1.3
0.1.4
0.10
0.2
0.5
0.6
0.7
0.7.1
0.8
0.8.1
+ 106 more Show less
0.8.2
0.8.3
0.8.4
0.9
0.9.1
1.0
1.1
1.10.0
1.10.1
1.10.10
1.10.11
1.10.12
1.10.13
1.10.2
1.10.3
1.10.4
1.10.5
1.10.6
1.10.7
1.10.8
1.10.9
1.11.0
1.11.1
1.12.0
1.12.1
1.12.2
1.13.0
1.13.1
1.14.0
1.14.1
1.14.2
1.14.3
1.15.0.post1
1.16.0
1.17.0
1.17.1
1.17.2
1.17.3
1.2
1.3
1.4
1.8.10
1.8.11
1.8.12
1.8.13
1.8.14
1.8.15
1.8.16
1.8.17
1.8.18
1.8.19
1.8.20
1.8.21
1.8.22
1.8.23
1.8.24
1.8.25
1.8.26
1.8.27
1.8.28
1.8.29
1.8.30
1.8.31
1.8.32
1.8.33
1.8.34
1.8.35
1.8.36
1.8.37
1.8.38
1.8.8
1.8.9
1.9.0
1.9.1
1.9.10
1.9.11
1.9.12
1.9.13
1.9.14
1.9.15
1.9.16
1.9.17
1.9.18
1.9.19
1.9.2
1.9.20
1.9.21
1.9.22
1.9.23
1.9.24
1.9.26
1.9.27
1.9.28
1.9.29
1.9.3
1.9.30
1.9.31
1.9.32
1.9.33
1.9.34
1.9.4
1.9.5
1.9.6
1.9.7
1.9.8
1.9.9
Fixed in
1.17.4
References
Updated Oct 01, 2026 · Source: OSV.dev
CVE-2026-49836
PYSEC-2026-2969
GHSA-2rmg-vrx8-9j2f
Jul 13, 2026
psd-tools vulnerable to arbitrary file write via smart-object filename
Medium
Local
Low
None
psd-tools: arbitrary file write/read via smart-object path traversalSummaryIn A secondary issue in DetailsWrite path —
|
1.10.10
patch
Dependencies (8)
|
|
1.10.9
patch
3 CVEs
CVE-2026-59991
PYSEC-2026-4139
GHSA-8q6g-vjhf-jp8m
Oct 01, 2026
psd-tools composite/numpy has uncontrolled memory allocation via crafted PSD geometry
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
Summary
ImpactOn psd-tools 1.17.2 (latest), default usage, a 49-byte PSD makes Steps to reproduce
PoC (49 bytes), reconstruct with:
Verify:
Root causeThe composite/numpy buffer is sized from the declared image (and per-layer) dimensions and channel/depth without checking them against the available data length or a sane maximum. Suggested fixValidate the declared dimensions, channel count, and per-layer rectangles against the actual file length (and a configurable maximum pixel/byte budget) before allocating; raise an error on overflow instead of committing the buffer and returning a black image. Affected versions
0.1.1
0.1.2
0.1.3
0.1.4
0.10
0.2
0.5
0.6
0.7
0.7.1
0.8
0.8.1
+ 106 more Show less
0.8.2
0.8.3
0.8.4
0.9
0.9.1
1.0
1.1
1.10.0
1.10.1
1.10.10
1.10.11
1.10.12
1.10.13
1.10.2
1.10.3
1.10.4
1.10.5
1.10.6
1.10.7
1.10.8
1.10.9
1.11.0
1.11.1
1.12.0
1.12.1
1.12.2
1.13.0
1.13.1
1.14.0
1.14.1
1.14.2
1.14.3
1.15.0.post1
1.16.0
1.17.0
1.17.1
1.17.2
1.17.3
1.2
1.3
1.4
1.8.10
1.8.11
1.8.12
1.8.13
1.8.14
1.8.15
1.8.16
1.8.17
1.8.18
1.8.19
1.8.20
1.8.21
1.8.22
1.8.23
1.8.24
1.8.25
1.8.26
1.8.27
1.8.28
1.8.29
1.8.30
1.8.31
1.8.32
1.8.33
1.8.34
1.8.35
1.8.36
1.8.37
1.8.38
1.8.8
1.8.9
1.9.0
1.9.1
1.9.10
1.9.11
1.9.12
1.9.13
1.9.14
1.9.15
1.9.16
1.9.17
1.9.18
1.9.19
1.9.2
1.9.20
1.9.21
1.9.22
1.9.23
1.9.24
1.9.26
1.9.27
1.9.28
1.9.29
1.9.3
1.9.30
1.9.31
1.9.32
1.9.33
1.9.34
1.9.4
1.9.5
1.9.6
1.9.7
1.9.8
1.9.9
Fixed in
1.17.4
References
Updated Oct 01, 2026 · Source: OSV.dev
CVE-2026-49836
PYSEC-2026-2969
GHSA-2rmg-vrx8-9j2f
Jul 13, 2026
psd-tools vulnerable to arbitrary file write via smart-object filename
Medium
Local
Low
None
psd-tools: arbitrary file write/read via smart-object path traversalSummaryIn A secondary issue in DetailsWrite path —
|
1.10.9
patch
Dependencies (15)
+ 7 more |
|
1.10.8
patch
3 CVEs
CVE-2026-59991
PYSEC-2026-4139
GHSA-8q6g-vjhf-jp8m
Oct 01, 2026
psd-tools composite/numpy has uncontrolled memory allocation via crafted PSD geometry
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
Summary
ImpactOn psd-tools 1.17.2 (latest), default usage, a 49-byte PSD makes Steps to reproduce
PoC (49 bytes), reconstruct with:
Verify:
Root causeThe composite/numpy buffer is sized from the declared image (and per-layer) dimensions and channel/depth without checking them against the available data length or a sane maximum. Suggested fixValidate the declared dimensions, channel count, and per-layer rectangles against the actual file length (and a configurable maximum pixel/byte budget) before allocating; raise an error on overflow instead of committing the buffer and returning a black image. Affected versions
0.1.1
0.1.2
0.1.3
0.1.4
0.10
0.2
0.5
0.6
0.7
0.7.1
0.8
0.8.1
+ 106 more Show less
0.8.2
0.8.3
0.8.4
0.9
0.9.1
1.0
1.1
1.10.0
1.10.1
1.10.10
1.10.11
1.10.12
1.10.13
1.10.2
1.10.3
1.10.4
1.10.5
1.10.6
1.10.7
1.10.8
1.10.9
1.11.0
1.11.1
1.12.0
1.12.1
1.12.2
1.13.0
1.13.1
1.14.0
1.14.1
1.14.2
1.14.3
1.15.0.post1
1.16.0
1.17.0
1.17.1
1.17.2
1.17.3
1.2
1.3
1.4
1.8.10
1.8.11
1.8.12
1.8.13
1.8.14
1.8.15
1.8.16
1.8.17
1.8.18
1.8.19
1.8.20
1.8.21
1.8.22
1.8.23
1.8.24
1.8.25
1.8.26
1.8.27
1.8.28
1.8.29
1.8.30
1.8.31
1.8.32
1.8.33
1.8.34
1.8.35
1.8.36
1.8.37
1.8.38
1.8.8
1.8.9
1.9.0
1.9.1
1.9.10
1.9.11
1.9.12
1.9.13
1.9.14
1.9.15
1.9.16
1.9.17
1.9.18
1.9.19
1.9.2
1.9.20
1.9.21
1.9.22
1.9.23
1.9.24
1.9.26
1.9.27
1.9.28
1.9.29
1.9.3
1.9.30
1.9.31
1.9.32
1.9.33
1.9.34
1.9.4
1.9.5
1.9.6
1.9.7
1.9.8
1.9.9
Fixed in
1.17.4
References
Updated Oct 01, 2026 · Source: OSV.dev
CVE-2026-49836
PYSEC-2026-2969
GHSA-2rmg-vrx8-9j2f
Jul 13, 2026
psd-tools vulnerable to arbitrary file write via smart-object filename
Medium
Local
Low
None
psd-tools: arbitrary file write/read via smart-object path traversalSummaryIn A secondary issue in DetailsWrite path —
|
1.10.8
patch
Dependencies (15)
+ 7 more |
|
1.10.7
patch
3 CVEs
CVE-2026-59991
PYSEC-2026-4139
GHSA-8q6g-vjhf-jp8m
Oct 01, 2026
psd-tools composite/numpy has uncontrolled memory allocation via crafted PSD geometry
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
Summary
ImpactOn psd-tools 1.17.2 (latest), default usage, a 49-byte PSD makes Steps to reproduce
PoC (49 bytes), reconstruct with:
Verify:
Root causeThe composite/numpy buffer is sized from the declared image (and per-layer) dimensions and channel/depth without checking them against the available data length or a sane maximum. Suggested fixValidate the declared dimensions, channel count, and per-layer rectangles against the actual file length (and a configurable maximum pixel/byte budget) before allocating; raise an error on overflow instead of committing the buffer and returning a black image. Affected versions
0.1.1
0.1.2
0.1.3
0.1.4
0.10
0.2
0.5
0.6
0.7
0.7.1
0.8
0.8.1
+ 106 more Show less
0.8.2
0.8.3
0.8.4
0.9
0.9.1
1.0
1.1
1.10.0
1.10.1
1.10.10
1.10.11
1.10.12
1.10.13
1.10.2
1.10.3
1.10.4
1.10.5
1.10.6
1.10.7
1.10.8
1.10.9
1.11.0
1.11.1
1.12.0
1.12.1
1.12.2
1.13.0
1.13.1
1.14.0
1.14.1
1.14.2
1.14.3
1.15.0.post1
1.16.0
1.17.0
1.17.1
1.17.2
1.17.3
1.2
1.3
1.4
1.8.10
1.8.11
1.8.12
1.8.13
1.8.14
1.8.15
1.8.16
1.8.17
1.8.18
1.8.19
1.8.20
1.8.21
1.8.22
1.8.23
1.8.24
1.8.25
1.8.26
1.8.27
1.8.28
1.8.29
1.8.30
1.8.31
1.8.32
1.8.33
1.8.34
1.8.35
1.8.36
1.8.37
1.8.38
1.8.8
1.8.9
1.9.0
1.9.1
1.9.10
1.9.11
1.9.12
1.9.13
1.9.14
1.9.15
1.9.16
1.9.17
1.9.18
1.9.19
1.9.2
1.9.20
1.9.21
1.9.22
1.9.23
1.9.24
1.9.26
1.9.27
1.9.28
1.9.29
1.9.3
1.9.30
1.9.31
1.9.32
1.9.33
1.9.34
1.9.4
1.9.5
1.9.6
1.9.7
1.9.8
1.9.9
Fixed in
1.17.4
References
Updated Oct 01, 2026 · Source: OSV.dev
CVE-2026-49836
PYSEC-2026-2969
GHSA-2rmg-vrx8-9j2f
Jul 13, 2026
psd-tools vulnerable to arbitrary file write via smart-object filename
Medium
Local
Low
None
psd-tools: arbitrary file write/read via smart-object path traversalSummaryIn A secondary issue in DetailsWrite path —
|
1.10.7
patch
Dependencies (15)
+ 7 more |
|
1.10.6
patch
3 CVEs
CVE-2026-59991
PYSEC-2026-4139
GHSA-8q6g-vjhf-jp8m
Oct 01, 2026
psd-tools composite/numpy has uncontrolled memory allocation via crafted PSD geometry
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
Summary
ImpactOn psd-tools 1.17.2 (latest), default usage, a 49-byte PSD makes Steps to reproduce
PoC (49 bytes), reconstruct with:
Verify:
Root causeThe composite/numpy buffer is sized from the declared image (and per-layer) dimensions and channel/depth without checking them against the available data length or a sane maximum. Suggested fixValidate the declared dimensions, channel count, and per-layer rectangles against the actual file length (and a configurable maximum pixel/byte budget) before allocating; raise an error on overflow instead of committing the buffer and returning a black image. Affected versions
0.1.1
0.1.2
0.1.3
0.1.4
0.10
0.2
0.5
0.6
0.7
0.7.1
0.8
0.8.1
+ 106 more Show less
0.8.2
0.8.3
0.8.4
0.9
0.9.1
1.0
1.1
1.10.0
1.10.1
1.10.10
1.10.11
1.10.12
1.10.13
1.10.2
1.10.3
1.10.4
1.10.5
1.10.6
1.10.7
1.10.8
1.10.9
1.11.0
1.11.1
1.12.0
1.12.1
1.12.2
1.13.0
1.13.1
1.14.0
1.14.1
1.14.2
1.14.3
1.15.0.post1
1.16.0
1.17.0
1.17.1
1.17.2
1.17.3
1.2
1.3
1.4
1.8.10
1.8.11
1.8.12
1.8.13
1.8.14
1.8.15
1.8.16
1.8.17
1.8.18
1.8.19
1.8.20
1.8.21
1.8.22
1.8.23
1.8.24
1.8.25
1.8.26
1.8.27
1.8.28
1.8.29
1.8.30
1.8.31
1.8.32
1.8.33
1.8.34
1.8.35
1.8.36
1.8.37
1.8.38
1.8.8
1.8.9
1.9.0
1.9.1
1.9.10
1.9.11
1.9.12
1.9.13
1.9.14
1.9.15
1.9.16
1.9.17
1.9.18
1.9.19
1.9.2
1.9.20
1.9.21
1.9.22
1.9.23
1.9.24
1.9.26
1.9.27
1.9.28
1.9.29
1.9.3
1.9.30
1.9.31
1.9.32
1.9.33
1.9.34
1.9.4
1.9.5
1.9.6
1.9.7
1.9.8
1.9.9
Fixed in
1.17.4
References
Updated Oct 01, 2026 · Source: OSV.dev
CVE-2026-49836
PYSEC-2026-2969
GHSA-2rmg-vrx8-9j2f
Jul 13, 2026
psd-tools vulnerable to arbitrary file write via smart-object filename
Medium
Local
Low
None
psd-tools: arbitrary file write/read via smart-object path traversalSummaryIn A secondary issue in DetailsWrite path —
|
1.10.6
patch
Dependencies (15)
+ 7 more |
|
1.10.5
patch
3 CVEs
CVE-2026-59991
PYSEC-2026-4139
GHSA-8q6g-vjhf-jp8m
Oct 01, 2026
psd-tools composite/numpy has uncontrolled memory allocation via crafted PSD geometry
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
Summary
ImpactOn psd-tools 1.17.2 (latest), default usage, a 49-byte PSD makes Steps to reproduce
PoC (49 bytes), reconstruct with:
Verify:
Root causeThe composite/numpy buffer is sized from the declared image (and per-layer) dimensions and channel/depth without checking them against the available data length or a sane maximum. Suggested fixValidate the declared dimensions, channel count, and per-layer rectangles against the actual file length (and a configurable maximum pixel/byte budget) before allocating; raise an error on overflow instead of committing the buffer and returning a black image. Affected versions
0.1.1
0.1.2
0.1.3
0.1.4
0.10
0.2
0.5
0.6
0.7
0.7.1
0.8
0.8.1
+ 106 more Show less
0.8.2
0.8.3
0.8.4
0.9
0.9.1
1.0
1.1
1.10.0
1.10.1
1.10.10
1.10.11
1.10.12
1.10.13
1.10.2
1.10.3
1.10.4
1.10.5
1.10.6
1.10.7
1.10.8
1.10.9
1.11.0
1.11.1
1.12.0
1.12.1
1.12.2
1.13.0
1.13.1
1.14.0
1.14.1
1.14.2
1.14.3
1.15.0.post1
1.16.0
1.17.0
1.17.1
1.17.2
1.17.3
1.2
1.3
1.4
1.8.10
1.8.11
1.8.12
1.8.13
1.8.14
1.8.15
1.8.16
1.8.17
1.8.18
1.8.19
1.8.20
1.8.21
1.8.22
1.8.23
1.8.24
1.8.25
1.8.26
1.8.27
1.8.28
1.8.29
1.8.30
1.8.31
1.8.32
1.8.33
1.8.34
1.8.35
1.8.36
1.8.37
1.8.38
1.8.8
1.8.9
1.9.0
1.9.1
1.9.10
1.9.11
1.9.12
1.9.13
1.9.14
1.9.15
1.9.16
1.9.17
1.9.18
1.9.19
1.9.2
1.9.20
1.9.21
1.9.22
1.9.23
1.9.24
1.9.26
1.9.27
1.9.28
1.9.29
1.9.3
1.9.30
1.9.31
1.9.32
1.9.33
1.9.34
1.9.4
1.9.5
1.9.6
1.9.7
1.9.8
1.9.9
Fixed in
1.17.4
References
Updated Oct 01, 2026 · Source: OSV.dev
CVE-2026-49836
PYSEC-2026-2969
GHSA-2rmg-vrx8-9j2f
Jul 13, 2026
psd-tools vulnerable to arbitrary file write via smart-object filename
Medium
Local
Low
None
psd-tools: arbitrary file write/read via smart-object path traversalSummaryIn A secondary issue in DetailsWrite path —
|
1.10.5
patch
Dependencies (15)
+ 7 more |
|
1.10.4
patch
3 CVEs
CVE-2026-59991
PYSEC-2026-4139
GHSA-8q6g-vjhf-jp8m
Oct 01, 2026
psd-tools composite/numpy has uncontrolled memory allocation via crafted PSD geometry
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
Summary
ImpactOn psd-tools 1.17.2 (latest), default usage, a 49-byte PSD makes Steps to reproduce
PoC (49 bytes), reconstruct with:
Verify:
Root causeThe composite/numpy buffer is sized from the declared image (and per-layer) dimensions and channel/depth without checking them against the available data length or a sane maximum. Suggested fixValidate the declared dimensions, channel count, and per-layer rectangles against the actual file length (and a configurable maximum pixel/byte budget) before allocating; raise an error on overflow instead of committing the buffer and returning a black image. Affected versions
0.1.1
0.1.2
0.1.3
0.1.4
0.10
0.2
0.5
0.6
0.7
0.7.1
0.8
0.8.1
+ 106 more Show less
0.8.2
0.8.3
0.8.4
0.9
0.9.1
1.0
1.1
1.10.0
1.10.1
1.10.10
1.10.11
1.10.12
1.10.13
1.10.2
1.10.3
1.10.4
1.10.5
1.10.6
1.10.7
1.10.8
1.10.9
1.11.0
1.11.1
1.12.0
1.12.1
1.12.2
1.13.0
1.13.1
1.14.0
1.14.1
1.14.2
1.14.3
1.15.0.post1
1.16.0
1.17.0
1.17.1
1.17.2
1.17.3
1.2
1.3
1.4
1.8.10
1.8.11
1.8.12
1.8.13
1.8.14
1.8.15
1.8.16
1.8.17
1.8.18
1.8.19
1.8.20
1.8.21
1.8.22
1.8.23
1.8.24
1.8.25
1.8.26
1.8.27
1.8.28
1.8.29
1.8.30
1.8.31
1.8.32
1.8.33
1.8.34
1.8.35
1.8.36
1.8.37
1.8.38
1.8.8
1.8.9
1.9.0
1.9.1
1.9.10
1.9.11
1.9.12
1.9.13
1.9.14
1.9.15
1.9.16
1.9.17
1.9.18
1.9.19
1.9.2
1.9.20
1.9.21
1.9.22
1.9.23
1.9.24
1.9.26
1.9.27
1.9.28
1.9.29
1.9.3
1.9.30
1.9.31
1.9.32
1.9.33
1.9.34
1.9.4
1.9.5
1.9.6
1.9.7
1.9.8
1.9.9
Fixed in
1.17.4
References
Updated Oct 01, 2026 · Source: OSV.dev
CVE-2026-49836
PYSEC-2026-2969
GHSA-2rmg-vrx8-9j2f
Jul 13, 2026
psd-tools vulnerable to arbitrary file write via smart-object filename
Medium
Local
Low
None
psd-tools: arbitrary file write/read via smart-object path traversalSummaryIn A secondary issue in DetailsWrite path —
|
1.10.4
patch
Dependencies (15)
+ 7 more |
|
1.10.3
patch
3 CVEs
CVE-2026-59991
PYSEC-2026-4139
GHSA-8q6g-vjhf-jp8m
Oct 01, 2026
psd-tools composite/numpy has uncontrolled memory allocation via crafted PSD geometry
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
Summary
ImpactOn psd-tools 1.17.2 (latest), default usage, a 49-byte PSD makes Steps to reproduce
PoC (49 bytes), reconstruct with:
Verify:
Root causeThe composite/numpy buffer is sized from the declared image (and per-layer) dimensions and channel/depth without checking them against the available data length or a sane maximum. Suggested fixValidate the declared dimensions, channel count, and per-layer rectangles against the actual file length (and a configurable maximum pixel/byte budget) before allocating; raise an error on overflow instead of committing the buffer and returning a black image. Affected versions
0.1.1
0.1.2
0.1.3
0.1.4
0.10
0.2
0.5
0.6
0.7
0.7.1
0.8
0.8.1
+ 106 more Show less
0.8.2
0.8.3
0.8.4
0.9
0.9.1
1.0
1.1
1.10.0
1.10.1
1.10.10
1.10.11
1.10.12
1.10.13
1.10.2
1.10.3
1.10.4
1.10.5
1.10.6
1.10.7
1.10.8
1.10.9
1.11.0
1.11.1
1.12.0
1.12.1
1.12.2
1.13.0
1.13.1
1.14.0
1.14.1
1.14.2
1.14.3
1.15.0.post1
1.16.0
1.17.0
1.17.1
1.17.2
1.17.3
1.2
1.3
1.4
1.8.10
1.8.11
1.8.12
1.8.13
1.8.14
1.8.15
1.8.16
1.8.17
1.8.18
1.8.19
1.8.20
1.8.21
1.8.22
1.8.23
1.8.24
1.8.25
1.8.26
1.8.27
1.8.28
1.8.29
1.8.30
1.8.31
1.8.32
1.8.33
1.8.34
1.8.35
1.8.36
1.8.37
1.8.38
1.8.8
1.8.9
1.9.0
1.9.1
1.9.10
1.9.11
1.9.12
1.9.13
1.9.14
1.9.15
1.9.16
1.9.17
1.9.18
1.9.19
1.9.2
1.9.20
1.9.21
1.9.22
1.9.23
1.9.24
1.9.26
1.9.27
1.9.28
1.9.29
1.9.3
1.9.30
1.9.31
1.9.32
1.9.33
1.9.34
1.9.4
1.9.5
1.9.6
1.9.7
1.9.8
1.9.9
Fixed in
1.17.4
References
Updated Oct 01, 2026 · Source: OSV.dev
CVE-2026-49836
PYSEC-2026-2969
GHSA-2rmg-vrx8-9j2f
Jul 13, 2026
psd-tools vulnerable to arbitrary file write via smart-object filename
Medium
Local
Low
None
psd-tools: arbitrary file write/read via smart-object path traversalSummaryIn A secondary issue in DetailsWrite path —
|
1.10.3
patch
Dependencies (15)
+ 7 more |
|
1.10.2
patch
3 CVEs
CVE-2026-59991
PYSEC-2026-4139
GHSA-8q6g-vjhf-jp8m
Oct 01, 2026
psd-tools composite/numpy has uncontrolled memory allocation via crafted PSD geometry
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
Summary
ImpactOn psd-tools 1.17.2 (latest), default usage, a 49-byte PSD makes Steps to reproduce
PoC (49 bytes), reconstruct with:
Verify:
Root causeThe composite/numpy buffer is sized from the declared image (and per-layer) dimensions and channel/depth without checking them against the available data length or a sane maximum. Suggested fixValidate the declared dimensions, channel count, and per-layer rectangles against the actual file length (and a configurable maximum pixel/byte budget) before allocating; raise an error on overflow instead of committing the buffer and returning a black image. Affected versions
0.1.1
0.1.2
0.1.3
0.1.4
0.10
0.2
0.5
0.6
0.7
0.7.1
0.8
0.8.1
+ 106 more Show less
0.8.2
0.8.3
0.8.4
0.9
0.9.1
1.0
1.1
1.10.0
1.10.1
1.10.10
1.10.11
1.10.12
1.10.13
1.10.2
1.10.3
1.10.4
1.10.5
1.10.6
1.10.7
1.10.8
1.10.9
1.11.0
1.11.1
1.12.0
1.12.1
1.12.2
1.13.0
1.13.1
1.14.0
1.14.1
1.14.2
1.14.3
1.15.0.post1
1.16.0
1.17.0
1.17.1
1.17.2
1.17.3
1.2
1.3
1.4
1.8.10
1.8.11
1.8.12
1.8.13
1.8.14
1.8.15
1.8.16
1.8.17
1.8.18
1.8.19
1.8.20
1.8.21
1.8.22
1.8.23
1.8.24
1.8.25
1.8.26
1.8.27
1.8.28
1.8.29
1.8.30
1.8.31
1.8.32
1.8.33
1.8.34
1.8.35
1.8.36
1.8.37
1.8.38
1.8.8
1.8.9
1.9.0
1.9.1
1.9.10
1.9.11
1.9.12
1.9.13
1.9.14
1.9.15
1.9.16
1.9.17
1.9.18
1.9.19
1.9.2
1.9.20
1.9.21
1.9.22
1.9.23
1.9.24
1.9.26
1.9.27
1.9.28
1.9.29
1.9.3
1.9.30
1.9.31
1.9.32
1.9.33
1.9.34
1.9.4
1.9.5
1.9.6
1.9.7
1.9.8
1.9.9
Fixed in
1.17.4
References
Updated Oct 01, 2026 · Source: OSV.dev
CVE-2026-49836
PYSEC-2026-2969
GHSA-2rmg-vrx8-9j2f
Jul 13, 2026
psd-tools vulnerable to arbitrary file write via smart-object filename
Medium
Local
Low
None
psd-tools: arbitrary file write/read via smart-object path traversalSummaryIn A secondary issue in DetailsWrite path —
|
1.10.2
patch
Dependencies (14)
+ 6 more |
|
1.10.1
patch
3 CVEs
CVE-2026-59991
PYSEC-2026-4139
GHSA-8q6g-vjhf-jp8m
Oct 01, 2026
psd-tools composite/numpy has uncontrolled memory allocation via crafted PSD geometry
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
Summary
ImpactOn psd-tools 1.17.2 (latest), default usage, a 49-byte PSD makes Steps to reproduce
PoC (49 bytes), reconstruct with:
Verify:
Root causeThe composite/numpy buffer is sized from the declared image (and per-layer) dimensions and channel/depth without checking them against the available data length or a sane maximum. Suggested fixValidate the declared dimensions, channel count, and per-layer rectangles against the actual file length (and a configurable maximum pixel/byte budget) before allocating; raise an error on overflow instead of committing the buffer and returning a black image. Affected versions
0.1.1
0.1.2
0.1.3
0.1.4
0.10
0.2
0.5
0.6
0.7
0.7.1
0.8
0.8.1
+ 106 more Show less
0.8.2
0.8.3
0.8.4
0.9
0.9.1
1.0
1.1
1.10.0
1.10.1
1.10.10
1.10.11
1.10.12
1.10.13
1.10.2
1.10.3
1.10.4
1.10.5
1.10.6
1.10.7
1.10.8
1.10.9
1.11.0
1.11.1
1.12.0
1.12.1
1.12.2
1.13.0
1.13.1
1.14.0
1.14.1
1.14.2
1.14.3
1.15.0.post1
1.16.0
1.17.0
1.17.1
1.17.2
1.17.3
1.2
1.3
1.4
1.8.10
1.8.11
1.8.12
1.8.13
1.8.14
1.8.15
1.8.16
1.8.17
1.8.18
1.8.19
1.8.20
1.8.21
1.8.22
1.8.23
1.8.24
1.8.25
1.8.26
1.8.27
1.8.28
1.8.29
1.8.30
1.8.31
1.8.32
1.8.33
1.8.34
1.8.35
1.8.36
1.8.37
1.8.38
1.8.8
1.8.9
1.9.0
1.9.1
1.9.10
1.9.11
1.9.12
1.9.13
1.9.14
1.9.15
1.9.16
1.9.17
1.9.18
1.9.19
1.9.2
1.9.20
1.9.21
1.9.22
1.9.23
1.9.24
1.9.26
1.9.27
1.9.28
1.9.29
1.9.3
1.9.30
1.9.31
1.9.32
1.9.33
1.9.34
1.9.4
1.9.5
1.9.6
1.9.7
1.9.8
1.9.9
Fixed in
1.17.4
References
Updated Oct 01, 2026 · Source: OSV.dev
CVE-2026-49836
PYSEC-2026-2969
GHSA-2rmg-vrx8-9j2f
Jul 13, 2026
psd-tools vulnerable to arbitrary file write via smart-object filename
Medium
Local
Low
None
psd-tools: arbitrary file write/read via smart-object path traversalSummaryIn A secondary issue in DetailsWrite path —
|
1.10.1
patch
Dependencies (14)
+ 6 more |
|
1.10.0
minor
3 CVEs
CVE-2026-59991
PYSEC-2026-4139
GHSA-8q6g-vjhf-jp8m
Oct 01, 2026
psd-tools composite/numpy has uncontrolled memory allocation via crafted PSD geometry
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
Summary
ImpactOn psd-tools 1.17.2 (latest), default usage, a 49-byte PSD makes Steps to reproduce
PoC (49 bytes), reconstruct with:
Verify:
Root causeThe composite/numpy buffer is sized from the declared image (and per-layer) dimensions and channel/depth without checking them against the available data length or a sane maximum. Suggested fixValidate the declared dimensions, channel count, and per-layer rectangles against the actual file length (and a configurable maximum pixel/byte budget) before allocating; raise an error on overflow instead of committing the buffer and returning a black image. Affected versions
0.1.1
0.1.2
0.1.3
0.1.4
0.10
0.2
0.5
0.6
0.7
0.7.1
0.8
0.8.1
+ 106 more Show less
0.8.2
0.8.3
0.8.4
0.9
0.9.1
1.0
1.1
1.10.0
1.10.1
1.10.10
1.10.11
1.10.12
1.10.13
1.10.2
1.10.3
1.10.4
1.10.5
1.10.6
1.10.7
1.10.8
1.10.9
1.11.0
1.11.1
1.12.0
1.12.1
1.12.2
1.13.0
1.13.1
1.14.0
1.14.1
1.14.2
1.14.3
1.15.0.post1
1.16.0
1.17.0
1.17.1
1.17.2
1.17.3
1.2
1.3
1.4
1.8.10
1.8.11
1.8.12
1.8.13
1.8.14
1.8.15
1.8.16
1.8.17
1.8.18
1.8.19
1.8.20
1.8.21
1.8.22
1.8.23
1.8.24
1.8.25
1.8.26
1.8.27
1.8.28
1.8.29
1.8.30
1.8.31
1.8.32
1.8.33
1.8.34
1.8.35
1.8.36
1.8.37
1.8.38
1.8.8
1.8.9
1.9.0
1.9.1
1.9.10
1.9.11
1.9.12
1.9.13
1.9.14
1.9.15
1.9.16
1.9.17
1.9.18
1.9.19
1.9.2
1.9.20
1.9.21
1.9.22
1.9.23
1.9.24
1.9.26
1.9.27
1.9.28
1.9.29
1.9.3
1.9.30
1.9.31
1.9.32
1.9.33
1.9.34
1.9.4
1.9.5
1.9.6
1.9.7
1.9.8
1.9.9
Fixed in
1.17.4
References
Updated Oct 01, 2026 · Source: OSV.dev
CVE-2026-49836
PYSEC-2026-2969
GHSA-2rmg-vrx8-9j2f
Jul 13, 2026
psd-tools vulnerable to arbitrary file write via smart-object filename
Medium
Local
Low
None
psd-tools: arbitrary file write/read via smart-object path traversalSummaryIn A secondary issue in DetailsWrite path —
|
1.10.0
minor
Dependencies (14)
+ 6 more |
|
1.9.34
patch
3 CVEs
CVE-2026-59991
PYSEC-2026-4139
GHSA-8q6g-vjhf-jp8m
Oct 01, 2026
psd-tools composite/numpy has uncontrolled memory allocation via crafted PSD geometry
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
Summary
ImpactOn psd-tools 1.17.2 (latest), default usage, a 49-byte PSD makes Steps to reproduce
PoC (49 bytes), reconstruct with:
Verify:
Root causeThe composite/numpy buffer is sized from the declared image (and per-layer) dimensions and channel/depth without checking them against the available data length or a sane maximum. Suggested fixValidate the declared dimensions, channel count, and per-layer rectangles against the actual file length (and a configurable maximum pixel/byte budget) before allocating; raise an error on overflow instead of committing the buffer and returning a black image. Affected versions
0.1.1
0.1.2
0.1.3
0.1.4
0.10
0.2
0.5
0.6
0.7
0.7.1
0.8
0.8.1
+ 106 more Show less
0.8.2
0.8.3
0.8.4
0.9
0.9.1
1.0
1.1
1.10.0
1.10.1
1.10.10
1.10.11
1.10.12
1.10.13
1.10.2
1.10.3
1.10.4
1.10.5
1.10.6
1.10.7
1.10.8
1.10.9
1.11.0
1.11.1
1.12.0
1.12.1
1.12.2
1.13.0
1.13.1
1.14.0
1.14.1
1.14.2
1.14.3
1.15.0.post1
1.16.0
1.17.0
1.17.1
1.17.2
1.17.3
1.2
1.3
1.4
1.8.10
1.8.11
1.8.12
1.8.13
1.8.14
1.8.15
1.8.16
1.8.17
1.8.18
1.8.19
1.8.20
1.8.21
1.8.22
1.8.23
1.8.24
1.8.25
1.8.26
1.8.27
1.8.28
1.8.29
1.8.30
1.8.31
1.8.32
1.8.33
1.8.34
1.8.35
1.8.36
1.8.37
1.8.38
1.8.8
1.8.9
1.9.0
1.9.1
1.9.10
1.9.11
1.9.12
1.9.13
1.9.14
1.9.15
1.9.16
1.9.17
1.9.18
1.9.19
1.9.2
1.9.20
1.9.21
1.9.22
1.9.23
1.9.24
1.9.26
1.9.27
1.9.28
1.9.29
1.9.3
1.9.30
1.9.31
1.9.32
1.9.33
1.9.34
1.9.4
1.9.5
1.9.6
1.9.7
1.9.8
1.9.9
Fixed in
1.17.4
References
Updated Oct 01, 2026 · Source: OSV.dev
CVE-2026-49836
PYSEC-2026-2969
GHSA-2rmg-vrx8-9j2f
Jul 13, 2026
psd-tools vulnerable to arbitrary file write via smart-object filename
Medium
Local
Low
None
psd-tools: arbitrary file write/read via smart-object path traversalSummaryIn A secondary issue in DetailsWrite path —
|
1.9.34
patch
Dependencies (14)
+ 6 more |
|
1.9.33
patch
3 CVEs
CVE-2026-59991
PYSEC-2026-4139
GHSA-8q6g-vjhf-jp8m
Oct 01, 2026
psd-tools composite/numpy has uncontrolled memory allocation via crafted PSD geometry
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
Summary
ImpactOn psd-tools 1.17.2 (latest), default usage, a 49-byte PSD makes Steps to reproduce
PoC (49 bytes), reconstruct with:
Verify:
Root causeThe composite/numpy buffer is sized from the declared image (and per-layer) dimensions and channel/depth without checking them against the available data length or a sane maximum. Suggested fixValidate the declared dimensions, channel count, and per-layer rectangles against the actual file length (and a configurable maximum pixel/byte budget) before allocating; raise an error on overflow instead of committing the buffer and returning a black image. Affected versions
0.1.1
0.1.2
0.1.3
0.1.4
0.10
0.2
0.5
0.6
0.7
0.7.1
0.8
0.8.1
+ 106 more Show less
0.8.2
0.8.3
0.8.4
0.9
0.9.1
1.0
1.1
1.10.0
1.10.1
1.10.10
1.10.11
1.10.12
1.10.13
1.10.2
1.10.3
1.10.4
1.10.5
1.10.6
1.10.7
1.10.8
1.10.9
1.11.0
1.11.1
1.12.0
1.12.1
1.12.2
1.13.0
1.13.1
1.14.0
1.14.1
1.14.2
1.14.3
1.15.0.post1
1.16.0
1.17.0
1.17.1
1.17.2
1.17.3
1.2
1.3
1.4
1.8.10
1.8.11
1.8.12
1.8.13
1.8.14
1.8.15
1.8.16
1.8.17
1.8.18
1.8.19
1.8.20
1.8.21
1.8.22
1.8.23
1.8.24
1.8.25
1.8.26
1.8.27
1.8.28
1.8.29
1.8.30
1.8.31
1.8.32
1.8.33
1.8.34
1.8.35
1.8.36
1.8.37
1.8.38
1.8.8
1.8.9
1.9.0
1.9.1
1.9.10
1.9.11
1.9.12
1.9.13
1.9.14
1.9.15
1.9.16
1.9.17
1.9.18
1.9.19
1.9.2
1.9.20
1.9.21
1.9.22
1.9.23
1.9.24
1.9.26
1.9.27
1.9.28
1.9.29
1.9.3
1.9.30
1.9.31
1.9.32
1.9.33
1.9.34
1.9.4
1.9.5
1.9.6
1.9.7
1.9.8
1.9.9
Fixed in
1.17.4
References
Updated Oct 01, 2026 · Source: OSV.dev
CVE-2026-49836
PYSEC-2026-2969
GHSA-2rmg-vrx8-9j2f
Jul 13, 2026
psd-tools vulnerable to arbitrary file write via smart-object filename
Medium
Local
Low
None
psd-tools: arbitrary file write/read via smart-object path traversalSummaryIn A secondary issue in DetailsWrite path —
|
1.9.33
patch
Dependencies (14)
+ 6 more |
|
1.9.32
patch
3 CVEs
CVE-2026-59991
PYSEC-2026-4139
GHSA-8q6g-vjhf-jp8m
Oct 01, 2026
psd-tools composite/numpy has uncontrolled memory allocation via crafted PSD geometry
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
Summary
ImpactOn psd-tools 1.17.2 (latest), default usage, a 49-byte PSD makes Steps to reproduce
PoC (49 bytes), reconstruct with:
Verify:
Root causeThe composite/numpy buffer is sized from the declared image (and per-layer) dimensions and channel/depth without checking them against the available data length or a sane maximum. Suggested fixValidate the declared dimensions, channel count, and per-layer rectangles against the actual file length (and a configurable maximum pixel/byte budget) before allocating; raise an error on overflow instead of committing the buffer and returning a black image. Affected versions
0.1.1
0.1.2
0.1.3
0.1.4
0.10
0.2
0.5
0.6
0.7
0.7.1
0.8
0.8.1
+ 106 more Show less
0.8.2
0.8.3
0.8.4
0.9
0.9.1
1.0
1.1
1.10.0
1.10.1
1.10.10
1.10.11
1.10.12
1.10.13
1.10.2
1.10.3
1.10.4
1.10.5
1.10.6
1.10.7
1.10.8
1.10.9
1.11.0
1.11.1
1.12.0
1.12.1
1.12.2
1.13.0
1.13.1
1.14.0
1.14.1
1.14.2
1.14.3
1.15.0.post1
1.16.0
1.17.0
1.17.1
1.17.2
1.17.3
1.2
1.3
1.4
1.8.10
1.8.11
1.8.12
1.8.13
1.8.14
1.8.15
1.8.16
1.8.17
1.8.18
1.8.19
1.8.20
1.8.21
1.8.22
1.8.23
1.8.24
1.8.25
1.8.26
1.8.27
1.8.28
1.8.29
1.8.30
1.8.31
1.8.32
1.8.33
1.8.34
1.8.35
1.8.36
1.8.37
1.8.38
1.8.8
1.8.9
1.9.0
1.9.1
1.9.10
1.9.11
1.9.12
1.9.13
1.9.14
1.9.15
1.9.16
1.9.17
1.9.18
1.9.19
1.9.2
1.9.20
1.9.21
1.9.22
1.9.23
1.9.24
1.9.26
1.9.27
1.9.28
1.9.29
1.9.3
1.9.30
1.9.31
1.9.32
1.9.33
1.9.34
1.9.4
1.9.5
1.9.6
1.9.7
1.9.8
1.9.9
Fixed in
1.17.4
References
Updated Oct 01, 2026 · Source: OSV.dev
CVE-2026-49836
PYSEC-2026-2969
GHSA-2rmg-vrx8-9j2f
Jul 13, 2026
psd-tools vulnerable to arbitrary file write via smart-object filename
Medium
Local
Low
None
psd-tools: arbitrary file write/read via smart-object path traversalSummaryIn A secondary issue in DetailsWrite path —
|
1.9.32
patch
Dependencies (16)
+ 8 more |
|
1.9.31
patch
3 CVEs
CVE-2026-59991
PYSEC-2026-4139
GHSA-8q6g-vjhf-jp8m
Oct 01, 2026
psd-tools composite/numpy has uncontrolled memory allocation via crafted PSD geometry
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
Summary
ImpactOn psd-tools 1.17.2 (latest), default usage, a 49-byte PSD makes Steps to reproduce
PoC (49 bytes), reconstruct with:
Verify:
Root causeThe composite/numpy buffer is sized from the declared image (and per-layer) dimensions and channel/depth without checking them against the available data length or a sane maximum. Suggested fixValidate the declared dimensions, channel count, and per-layer rectangles against the actual file length (and a configurable maximum pixel/byte budget) before allocating; raise an error on overflow instead of committing the buffer and returning a black image. Affected versions
0.1.1
0.1.2
0.1.3
0.1.4
0.10
0.2
0.5
0.6
0.7
0.7.1
0.8
0.8.1
+ 106 more Show less
0.8.2
0.8.3
0.8.4
0.9
0.9.1
1.0
1.1
1.10.0
1.10.1
1.10.10
1.10.11
1.10.12
1.10.13
1.10.2
1.10.3
1.10.4
1.10.5
1.10.6
1.10.7
1.10.8
1.10.9
1.11.0
1.11.1
1.12.0
1.12.1
1.12.2
1.13.0
1.13.1
1.14.0
1.14.1
1.14.2
1.14.3
1.15.0.post1
1.16.0
1.17.0
1.17.1
1.17.2
1.17.3
1.2
1.3
1.4
1.8.10
1.8.11
1.8.12
1.8.13
1.8.14
1.8.15
1.8.16
1.8.17
1.8.18
1.8.19
1.8.20
1.8.21
1.8.22
1.8.23
1.8.24
1.8.25
1.8.26
1.8.27
1.8.28
1.8.29
1.8.30
1.8.31
1.8.32
1.8.33
1.8.34
1.8.35
1.8.36
1.8.37
1.8.38
1.8.8
1.8.9
1.9.0
1.9.1
1.9.10
1.9.11
1.9.12
1.9.13
1.9.14
1.9.15
1.9.16
1.9.17
1.9.18
1.9.19
1.9.2
1.9.20
1.9.21
1.9.22
1.9.23
1.9.24
1.9.26
1.9.27
1.9.28
1.9.29
1.9.3
1.9.30
1.9.31
1.9.32
1.9.33
1.9.34
1.9.4
1.9.5
1.9.6
1.9.7
1.9.8
1.9.9
Fixed in
1.17.4
References
Updated Oct 01, 2026 · Source: OSV.dev
CVE-2026-49836
PYSEC-2026-2969
GHSA-2rmg-vrx8-9j2f
Jul 13, 2026
psd-tools vulnerable to arbitrary file write via smart-object filename
Medium
Local
Low
None
psd-tools: arbitrary file write/read via smart-object path traversalSummaryIn A secondary issue in DetailsWrite path —
|
1.9.31
patch
Dependencies (16)
+ 8 more |
|
1.9.30
patch
3 CVEs
CVE-2026-59991
PYSEC-2026-4139
GHSA-8q6g-vjhf-jp8m
Oct 01, 2026
psd-tools composite/numpy has uncontrolled memory allocation via crafted PSD geometry
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
Summary
ImpactOn psd-tools 1.17.2 (latest), default usage, a 49-byte PSD makes Steps to reproduce
PoC (49 bytes), reconstruct with:
Verify:
Root causeThe composite/numpy buffer is sized from the declared image (and per-layer) dimensions and channel/depth without checking them against the available data length or a sane maximum. Suggested fixValidate the declared dimensions, channel count, and per-layer rectangles against the actual file length (and a configurable maximum pixel/byte budget) before allocating; raise an error on overflow instead of committing the buffer and returning a black image. Affected versions
0.1.1
0.1.2
0.1.3
0.1.4
0.10
0.2
0.5
0.6
0.7
0.7.1
0.8
0.8.1
+ 106 more Show less
0.8.2
0.8.3
0.8.4
0.9
0.9.1
1.0
1.1
1.10.0
1.10.1
1.10.10
1.10.11
1.10.12
1.10.13
1.10.2
1.10.3
1.10.4
1.10.5
1.10.6
1.10.7
1.10.8
1.10.9
1.11.0
1.11.1
1.12.0
1.12.1
1.12.2
1.13.0
1.13.1
1.14.0
1.14.1
1.14.2
1.14.3
1.15.0.post1
1.16.0
1.17.0
1.17.1
1.17.2
1.17.3
1.2
1.3
1.4
1.8.10
1.8.11
1.8.12
1.8.13
1.8.14
1.8.15
1.8.16
1.8.17
1.8.18
1.8.19
1.8.20
1.8.21
1.8.22
1.8.23
1.8.24
1.8.25
1.8.26
1.8.27
1.8.28
1.8.29
1.8.30
1.8.31
1.8.32
1.8.33
1.8.34
1.8.35
1.8.36
1.8.37
1.8.38
1.8.8
1.8.9
1.9.0
1.9.1
1.9.10
1.9.11
1.9.12
1.9.13
1.9.14
1.9.15
1.9.16
1.9.17
1.9.18
1.9.19
1.9.2
1.9.20
1.9.21
1.9.22
1.9.23
1.9.24
1.9.26
1.9.27
1.9.28
1.9.29
1.9.3
1.9.30
1.9.31
1.9.32
1.9.33
1.9.34
1.9.4
1.9.5
1.9.6
1.9.7
1.9.8
1.9.9
Fixed in
1.17.4
References
Updated Oct 01, 2026 · Source: OSV.dev
CVE-2026-49836
PYSEC-2026-2969
GHSA-2rmg-vrx8-9j2f
Jul 13, 2026
psd-tools vulnerable to arbitrary file write via smart-object filename
Medium
Local
Low
None
psd-tools: arbitrary file write/read via smart-object path traversalSummaryIn A secondary issue in DetailsWrite path —
|
1.9.30
patch
Dependencies (16)
+ 8 more |
|
1.9.29
patch
3 CVEs
CVE-2026-59991
PYSEC-2026-4139
GHSA-8q6g-vjhf-jp8m
Oct 01, 2026
psd-tools composite/numpy has uncontrolled memory allocation via crafted PSD geometry
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
Summary
ImpactOn psd-tools 1.17.2 (latest), default usage, a 49-byte PSD makes Steps to reproduce
PoC (49 bytes), reconstruct with:
Verify:
Root causeThe composite/numpy buffer is sized from the declared image (and per-layer) dimensions and channel/depth without checking them against the available data length or a sane maximum. Suggested fixValidate the declared dimensions, channel count, and per-layer rectangles against the actual file length (and a configurable maximum pixel/byte budget) before allocating; raise an error on overflow instead of committing the buffer and returning a black image. Affected versions
0.1.1
0.1.2
0.1.3
0.1.4
0.10
0.2
0.5
0.6
0.7
0.7.1
0.8
0.8.1
+ 106 more Show less
0.8.2
0.8.3
0.8.4
0.9
0.9.1
1.0
1.1
1.10.0
1.10.1
1.10.10
1.10.11
1.10.12
1.10.13
1.10.2
1.10.3
1.10.4
1.10.5
1.10.6
1.10.7
1.10.8
1.10.9
1.11.0
1.11.1
1.12.0
1.12.1
1.12.2
1.13.0
1.13.1
1.14.0
1.14.1
1.14.2
1.14.3
1.15.0.post1
1.16.0
1.17.0
1.17.1
1.17.2
1.17.3
1.2
1.3
1.4
1.8.10
1.8.11
1.8.12
1.8.13
1.8.14
1.8.15
1.8.16
1.8.17
1.8.18
1.8.19
1.8.20
1.8.21
1.8.22
1.8.23
1.8.24
1.8.25
1.8.26
1.8.27
1.8.28
1.8.29
1.8.30
1.8.31
1.8.32
1.8.33
1.8.34
1.8.35
1.8.36
1.8.37
1.8.38
1.8.8
1.8.9
1.9.0
1.9.1
1.9.10
1.9.11
1.9.12
1.9.13
1.9.14
1.9.15
1.9.16
1.9.17
1.9.18
1.9.19
1.9.2
1.9.20
1.9.21
1.9.22
1.9.23
1.9.24
1.9.26
1.9.27
1.9.28
1.9.29
1.9.3
1.9.30
1.9.31
1.9.32
1.9.33
1.9.34
1.9.4
1.9.5
1.9.6
1.9.7
1.9.8
1.9.9
Fixed in
1.17.4
References
Updated Oct 01, 2026 · Source: OSV.dev
CVE-2026-49836
PYSEC-2026-2969
GHSA-2rmg-vrx8-9j2f
Jul 13, 2026
psd-tools vulnerable to arbitrary file write via smart-object filename
Medium
Local
Low
None
psd-tools: arbitrary file write/read via smart-object path traversalSummaryIn A secondary issue in DetailsWrite path —
|
1.9.29
patch
Dependencies (14)
+ 6 more |
|
1.9.28
patch
3 CVEs
CVE-2026-59991
PYSEC-2026-4139
GHSA-8q6g-vjhf-jp8m
Oct 01, 2026
psd-tools composite/numpy has uncontrolled memory allocation via crafted PSD geometry
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
Summary
ImpactOn psd-tools 1.17.2 (latest), default usage, a 49-byte PSD makes Steps to reproduce
PoC (49 bytes), reconstruct with:
Verify:
Root causeThe composite/numpy buffer is sized from the declared image (and per-layer) dimensions and channel/depth without checking them against the available data length or a sane maximum. Suggested fixValidate the declared dimensions, channel count, and per-layer rectangles against the actual file length (and a configurable maximum pixel/byte budget) before allocating; raise an error on overflow instead of committing the buffer and returning a black image. Affected versions
0.1.1
0.1.2
0.1.3
0.1.4
0.10
0.2
0.5
0.6
0.7
0.7.1
0.8
0.8.1
+ 106 more Show less
0.8.2
0.8.3
0.8.4
0.9
0.9.1
1.0
1.1
1.10.0
1.10.1
1.10.10
1.10.11
1.10.12
1.10.13
1.10.2
1.10.3
1.10.4
1.10.5
1.10.6
1.10.7
1.10.8
1.10.9
1.11.0
1.11.1
1.12.0
1.12.1
1.12.2
1.13.0
1.13.1
1.14.0
1.14.1
1.14.2
1.14.3
1.15.0.post1
1.16.0
1.17.0
1.17.1
1.17.2
1.17.3
1.2
1.3
1.4
1.8.10
1.8.11
1.8.12
1.8.13
1.8.14
1.8.15
1.8.16
1.8.17
1.8.18
1.8.19
1.8.20
1.8.21
1.8.22
1.8.23
1.8.24
1.8.25
1.8.26
1.8.27
1.8.28
1.8.29
1.8.30
1.8.31
1.8.32
1.8.33
1.8.34
1.8.35
1.8.36
1.8.37
1.8.38
1.8.8
1.8.9
1.9.0
1.9.1
1.9.10
1.9.11
1.9.12
1.9.13
1.9.14
1.9.15
1.9.16
1.9.17
1.9.18
1.9.19
1.9.2
1.9.20
1.9.21
1.9.22
1.9.23
1.9.24
1.9.26
1.9.27
1.9.28
1.9.29
1.9.3
1.9.30
1.9.31
1.9.32
1.9.33
1.9.34
1.9.4
1.9.5
1.9.6
1.9.7
1.9.8
1.9.9
Fixed in
1.17.4
References
Updated Oct 01, 2026 · Source: OSV.dev
CVE-2026-49836
PYSEC-2026-2969
GHSA-2rmg-vrx8-9j2f
Jul 13, 2026
psd-tools vulnerable to arbitrary file write via smart-object filename
Medium
Local
Low
None
psd-tools: arbitrary file write/read via smart-object path traversalSummaryIn A secondary issue in DetailsWrite path —
|
1.9.28
patch
Dependencies (8)
|
|
1.9.27
patch
3 CVEs
CVE-2026-59991
PYSEC-2026-4139
GHSA-8q6g-vjhf-jp8m
Oct 01, 2026
psd-tools composite/numpy has uncontrolled memory allocation via crafted PSD geometry
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
Summary
ImpactOn psd-tools 1.17.2 (latest), default usage, a 49-byte PSD makes Steps to reproduce
PoC (49 bytes), reconstruct with:
Verify:
Root causeThe composite/numpy buffer is sized from the declared image (and per-layer) dimensions and channel/depth without checking them against the available data length or a sane maximum. Suggested fixValidate the declared dimensions, channel count, and per-layer rectangles against the actual file length (and a configurable maximum pixel/byte budget) before allocating; raise an error on overflow instead of committing the buffer and returning a black image. Affected versions
0.1.1
0.1.2
0.1.3
0.1.4
0.10
0.2
0.5
0.6
0.7
0.7.1
0.8
0.8.1
+ 106 more Show less
0.8.2
0.8.3
0.8.4
0.9
0.9.1
1.0
1.1
1.10.0
1.10.1
1.10.10
1.10.11
1.10.12
1.10.13
1.10.2
1.10.3
1.10.4
1.10.5
1.10.6
1.10.7
1.10.8
1.10.9
1.11.0
1.11.1
1.12.0
1.12.1
1.12.2
1.13.0
1.13.1
1.14.0
1.14.1
1.14.2
1.14.3
1.15.0.post1
1.16.0
1.17.0
1.17.1
1.17.2
1.17.3
1.2
1.3
1.4
1.8.10
1.8.11
1.8.12
1.8.13
1.8.14
1.8.15
1.8.16
1.8.17
1.8.18
1.8.19
1.8.20
1.8.21
1.8.22
1.8.23
1.8.24
1.8.25
1.8.26
1.8.27
1.8.28
1.8.29
1.8.30
1.8.31
1.8.32
1.8.33
1.8.34
1.8.35
1.8.36
1.8.37
1.8.38
1.8.8
1.8.9
1.9.0
1.9.1
1.9.10
1.9.11
1.9.12
1.9.13
1.9.14
1.9.15
1.9.16
1.9.17
1.9.18
1.9.19
1.9.2
1.9.20
1.9.21
1.9.22
1.9.23
1.9.24
1.9.26
1.9.27
1.9.28
1.9.29
1.9.3
1.9.30
1.9.31
1.9.32
1.9.33
1.9.34
1.9.4
1.9.5
1.9.6
1.9.7
1.9.8
1.9.9
Fixed in
1.17.4
References
Updated Oct 01, 2026 · Source: OSV.dev
CVE-2026-49836
PYSEC-2026-2969
GHSA-2rmg-vrx8-9j2f
Jul 13, 2026
psd-tools vulnerable to arbitrary file write via smart-object filename
Medium
Local
Low
None
psd-tools: arbitrary file write/read via smart-object path traversalSummaryIn A secondary issue in DetailsWrite path —
|
1.9.27
patch
Dependencies (8)
|