security: pin Pillow to patched versions in requirements#670
Conversation
|
@stark4n6 there was a new CVE in pillow since we wrote the original report, so for the pillow supply chain to be truly CVE free, it would need to be How do you want to proceed? |
|
@stark4n6 I think that we should move away from 3.9 support as long as it doesn't break anything else. |
|
Binaries versions are built with Python 3.12. |
|
I'll give it a look tomorrow, but off the top of my head 3.10, 3.11 and 3.12 were fine. Problem is that 3.13 introduced some changes in the internals of the interpreter, Cython adjusted the C code it generates but not the C++ part. I was hopping they'd port the C fix to C++ eventually, and we need that because astc_decomp (both the original and my fork) use Cython with C++. |
|
hi all - we took some time and wrote some tests to make sure the upgrade will be relatively seamless. see #672 for this proposal. let us know if we missed anything |
|
Confirm that we're safe up to 3.12: https://pypi.org/project/astc-decomp-faster/#files (those wheels were built in GitHub Actions) Still have to dig a bit deeper into for 3.13 and 3.14, hopefully Cython or Python or Microsoft has solved the issue. |
What this change does
This PR hardens ALEAPP against supply-chain and parser-level image risk by pinning Pillow in
requirements.txtfrom:pillowto:
pillow>=10.3.0,<12.0.0Why this is important
ALEAPP processes attacker-controlled evidence files and uses Pillow decoding in multiple artifacts:
scripts/artifacts/chatgpt.pyscripts/artifacts/SamsungHoneyboard.pyscripts/artifacts/torThumbs.pyLeaving Pillow unpinned can result in vulnerable versions being installed depending on environment state.
Maintainer acknowledgement and decision requested
As of March 3, 2026, current advisories indicate CVE-2026-25990 affects
pillow >=10.3.0, <12.1.1(fixed in12.1.1).So this PR's current range (
>=10.3.0,<12.0.0) improves posture against older issues, but does not fully clear the newest disclosed Pillow vulnerability.Could maintainers confirm preferred direction?
pillow>=12.1.1,<13.0.0(fully patched for CVE-2026-25990; implies Python 3.10+ runtime baseline for Pillow 12).Once you choose, we can push the exact follow-up change immediately.
Security references
Older relevant CVEs:
Additional references:
Validation performed
python -m pip install -r requirements.txt.Scope
requirements.txt