Bug 2042527 (CVE-2022-22817)

Summary: CVE-2022-22817 python-pillow: PIL.ImageMath.eval allows evaluation of arbitrary expressions
Product: [Other] Security Response Reporter: Guilherme de Almeida Suckevicz <gsuckevi>
Component: vulnerabilityAssignee: Red Hat Product Security <security-response-team>
Status: CLOSED ERRATA QA Contact:
Severity: high Docs Contact:
Priority: high    
Version: unspecifiedCC: bdettelb, cstratak, epel-packagers-sig, infra-sig, lbalhar, manisandro, miminar, orion, python-maint, python-sig, torsava
Target Milestone: ---Keywords: Security
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Pillow 9.0.0 Doc Type: If docs needed, set a value
Doc Text:
A flaw was found in python-pillow. The vulnerability occurs due to Improper Neutralization, leading to command injection. This flaw allows an attacker to externally-influenced input commands that modify the intended command.
Story Points: ---
Clone Of: Environment:
Last Closed: 2022-03-03 00:21:31 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 2042528, 2042530, 2042531, 2048388, 2048389, 2048390, 2048391, 2048392, 2048393    
Bug Blocks: 2042533    

Description Guilherme de Almeida Suckevicz 2022-01-19 16:28:54 UTC
PIL.ImageMath.eval in Pillow before 9.0.0 allows evaluation of arbitrary expressions, such as ones that use the Python exec method.

Reference:
https://pillow.readthedocs.io/en/stable/releasenotes/9.0.0.html#restrict-builtins-available-to-imagemath-eval

Comment 1 Guilherme de Almeida Suckevicz 2022-01-19 16:29:24 UTC
Created mingw-python-pillow tracking bugs for this issue:

Affects: fedora-all [bug 2042528]


Created python-pillow tracking bugs for this issue:

Affects: fedora-all [bug 2042530]


Created python3-pillow tracking bugs for this issue:

Affects: epel-7 [bug 2042531]

Comment 6 Lumír Balhar 2022-02-07 07:21:13 UTC
It's very simple to reproduce and test this vulnerability:

```
from PIL.ImageMath import eval

try:
    eval("round(5.05)")
except ValueError:
    print("FIXED")
else:
    print("VULNERABLE")
```

Comment 8 errata-xmlrpc 2022-02-22 15:46:55 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 7

Via RHSA-2022:0609 https://access.redhat.com/errata/RHSA-2022:0609

Comment 9 errata-xmlrpc 2022-02-22 17:43:12 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 8

Via RHSA-2022:0643 https://access.redhat.com/errata/RHSA-2022:0643

Comment 10 errata-xmlrpc 2022-02-24 09:35:40 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 8.1 Update Services for SAP Solutions

Via RHSA-2022:0669 https://access.redhat.com/errata/RHSA-2022:0669

Comment 11 errata-xmlrpc 2022-02-24 09:51:04 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 8.4 Extended Update Support

Via RHSA-2022:0665 https://access.redhat.com/errata/RHSA-2022:0665

Comment 12 errata-xmlrpc 2022-02-24 09:52:00 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 8.2 Extended Update Support

Via RHSA-2022:0667 https://access.redhat.com/errata/RHSA-2022:0667

Comment 13 Product Security DevOps Team 2022-03-03 00:21:29 UTC
This bug is now closed. Further updates for individual products will be reflected on the CVE page(s):

https://access.redhat.com/security/cve/cve-2022-22817