ID CVE-2019-19911
Summary There is a DoS vulnerability in Pillow before 6.2.2 caused by FpxImagePlugin.py calling the range function on an unvalidated 32-bit integer if the number of bands is large. On Windows running 32-bit Python, this results in an OverflowError or MemoryError due to the 2 GB limit. However, on Linux running 64-bit Python this results in the process being terminated by the OOM killer.
References
Vulnerable Configurations
  • cpe:2.3:a:python:pillow:-:*:*:*:*:*:*:*
    cpe:2.3:a:python:pillow:-:*:*:*:*:*:*:*
  • cpe:2.3:a:python:pillow:1.0:*:*:*:*:*:*:*
    cpe:2.3:a:python:pillow:1.0:*:*:*:*:*:*:*
  • cpe:2.3:a:python:pillow:1.1:*:*:*:*:*:*:*
    cpe:2.3:a:python:pillow:1.1:*:*:*:*:*:*:*
  • cpe:2.3:a:python:pillow:1.2:*:*:*:*:*:*:*
    cpe:2.3:a:python:pillow:1.2:*:*:*:*:*:*:*
  • cpe:2.3:a:python:pillow:1.3:*:*:*:*:*:*:*
    cpe:2.3:a:python:pillow:1.3:*:*:*:*:*:*:*
  • cpe:2.3:a:python:pillow:1.4:*:*:*:*:*:*:*
    cpe:2.3:a:python:pillow:1.4:*:*:*:*:*:*:*
  • cpe:2.3:a:python:pillow:1.5:*:*:*:*:*:*:*
    cpe:2.3:a:python:pillow:1.5:*:*:*:*:*:*:*
  • cpe:2.3:a:python:pillow:1.6:*:*:*:*:*:*:*
    cpe:2.3:a:python:pillow:1.6:*:*:*:*:*:*:*
  • cpe:2.3:a:python:pillow:1.7.0:*:*:*:*:*:*:*
    cpe:2.3:a:python:pillow:1.7.0:*:*:*:*:*:*:*
  • cpe:2.3:a:python:pillow:1.7.1:*:*:*:*:*:*:*
    cpe:2.3:a:python:pillow:1.7.1:*:*:*:*:*:*:*
  • cpe:2.3:a:python:pillow:1.7.2:*:*:*:*:*:*:*
    cpe:2.3:a:python:pillow:1.7.2:*:*:*:*:*:*:*
  • cpe:2.3:a:python:pillow:1.7.3:*:*:*:*:*:*:*
    cpe:2.3:a:python:pillow:1.7.3:*:*:*:*:*:*:*
  • cpe:2.3:a:python:pillow:1.7.4:*:*:*:*:*:*:*
    cpe:2.3:a:python:pillow:1.7.4:*:*:*:*:*:*:*
  • cpe:2.3:a:python:pillow:1.7.5:*:*:*:*:*:*:*
    cpe:2.3:a:python:pillow:1.7.5:*:*:*:*:*:*:*
  • cpe:2.3:a:python:pillow:1.7.6:*:*:*:*:*:*:*
    cpe:2.3:a:python:pillow:1.7.6:*:*:*:*:*:*:*
  • cpe:2.3:a:python:pillow:1.7.7:*:*:*:*:*:*:*
    cpe:2.3:a:python:pillow:1.7.7:*:*:*:*:*:*:*
  • cpe:2.3:a:python:pillow:1.7.8:*:*:*:*:*:*:*
    cpe:2.3:a:python:pillow:1.7.8:*:*:*:*:*:*:*
  • cpe:2.3:a:python:pillow:2.0.0:*:*:*:*:*:*:*
    cpe:2.3:a:python:pillow:2.0.0:*:*:*:*:*:*:*
  • cpe:2.3:a:python:pillow:2.1.0:*:*:*:*:*:*:*
    cpe:2.3:a:python:pillow:2.1.0:*:*:*:*:*:*:*
  • cpe:2.3:a:python:pillow:2.2.0:*:*:*:*:*:*:*
    cpe:2.3:a:python:pillow:2.2.0:*:*:*:*:*:*:*
  • cpe:2.3:a:python:pillow:2.2.1:*:*:*:*:*:*:*
    cpe:2.3:a:python:pillow:2.2.1:*:*:*:*:*:*:*
  • cpe:2.3:a:python:pillow:2.2.2:*:*:*:*:*:*:*
    cpe:2.3:a:python:pillow:2.2.2:*:*:*:*:*:*:*
  • cpe:2.3:a:python:pillow:2.3.0:*:*:*:*:*:*:*
    cpe:2.3:a:python:pillow:2.3.0:*:*:*:*:*:*:*
  • cpe:2.3:a:python:pillow:2.3.1:*:*:*:*:*:*:*
    cpe:2.3:a:python:pillow:2.3.1:*:*:*:*:*:*:*
  • cpe:2.3:a:python:pillow:2.4.0:*:*:*:*:*:*:*
    cpe:2.3:a:python:pillow:2.4.0:*:*:*:*:*:*:*
  • cpe:2.3:a:python:pillow:2.5.0:*:*:*:*:*:*:*
    cpe:2.3:a:python:pillow:2.5.0:*:*:*:*:*:*:*
  • cpe:2.3:a:python:pillow:2.5.1:*:*:*:*:*:*:*
    cpe:2.3:a:python:pillow:2.5.1:*:*:*:*:*:*:*
  • cpe:2.3:a:python:pillow:2.5.2:*:*:*:*:*:*:*
    cpe:2.3:a:python:pillow:2.5.2:*:*:*:*:*:*:*
  • cpe:2.3:a:python:pillow:2.5.3:*:*:*:*:*:*:*
    cpe:2.3:a:python:pillow:2.5.3:*:*:*:*:*:*:*
  • cpe:2.3:a:python:pillow:2.6.0:*:*:*:*:*:*:*
    cpe:2.3:a:python:pillow:2.6.0:*:*:*:*:*:*:*
  • cpe:2.3:a:python:pillow:2.6.0:rc1:*:*:*:*:*:*
    cpe:2.3:a:python:pillow:2.6.0:rc1:*:*:*:*:*:*
  • cpe:2.3:a:python:pillow:2.6.1:*:*:*:*:*:*:*
    cpe:2.3:a:python:pillow:2.6.1:*:*:*:*:*:*:*
  • cpe:2.3:a:python:pillow:2.6.2:*:*:*:*:*:*:*
    cpe:2.3:a:python:pillow:2.6.2:*:*:*:*:*:*:*
  • cpe:2.3:a:python:pillow:2.7.0:*:*:*:*:*:*:*
    cpe:2.3:a:python:pillow:2.7.0:*:*:*:*:*:*:*
  • cpe:2.3:a:python:pillow:2.8.0:*:*:*:*:*:*:*
    cpe:2.3:a:python:pillow:2.8.0:*:*:*:*:*:*:*
  • cpe:2.3:a:python:pillow:2.8.1:*:*:*:*:*:*:*
    cpe:2.3:a:python:pillow:2.8.1:*:*:*:*:*:*:*
  • cpe:2.3:a:python:pillow:2.8.2:*:*:*:*:*:*:*
    cpe:2.3:a:python:pillow:2.8.2:*:*:*:*:*:*:*
  • cpe:2.3:a:python:pillow:2.9.0:*:*:*:*:*:*:*
    cpe:2.3:a:python:pillow:2.9.0:*:*:*:*:*:*:*
  • cpe:2.3:a:python:pillow:2.9.0:dev0:*:*:*:*:*:*
    cpe:2.3:a:python:pillow:2.9.0:dev0:*:*:*:*:*:*
  • cpe:2.3:a:python:pillow:2.9.0:dev1:*:*:*:*:*:*
    cpe:2.3:a:python:pillow:2.9.0:dev1:*:*:*:*:*:*
  • cpe:2.3:a:python:pillow:2.9.0:dev2:*:*:*:*:*:*
    cpe:2.3:a:python:pillow:2.9.0:dev2:*:*:*:*:*:*
  • cpe:2.3:a:python:pillow:3.0.0:*:*:*:*:*:*:*
    cpe:2.3:a:python:pillow:3.0.0:*:*:*:*:*:*:*
  • cpe:2.3:a:python:pillow:3.0.0:rc1:*:*:*:*:*:*
    cpe:2.3:a:python:pillow:3.0.0:rc1:*:*:*:*:*:*
  • cpe:2.3:a:python:pillow:3.1.0:*:*:*:*:*:*:*
    cpe:2.3:a:python:pillow:3.1.0:*:*:*:*:*:*:*
  • cpe:2.3:a:python:pillow:3.3.1:*:*:*:*:*:*:*
    cpe:2.3:a:python:pillow:3.3.1:*:*:*:*:*:*:*
  • cpe:2.3:a:python:pillow:3.3.2:*:*:*:*:*:*:*
    cpe:2.3:a:python:pillow:3.3.2:*:*:*:*:*:*:*
  • cpe:2.3:a:python:pillow:3.4.0:*:*:*:*:*:*:*
    cpe:2.3:a:python:pillow:3.4.0:*:*:*:*:*:*:*
  • cpe:2.3:a:python:pillow:4.0.0:*:*:*:*:*:*:*
    cpe:2.3:a:python:pillow:4.0.0:*:*:*:*:*:*:*
  • cpe:2.3:a:python:pillow:4.1.0:*:*:*:*:*:*:*
    cpe:2.3:a:python:pillow:4.1.0:*:*:*:*:*:*:*
  • cpe:2.3:a:python:pillow:4.1.1:*:*:*:*:*:*:*
    cpe:2.3:a:python:pillow:4.1.1:*:*:*:*:*:*:*
  • cpe:2.3:a:python:pillow:4.2.0:*:*:*:*:*:*:*
    cpe:2.3:a:python:pillow:4.2.0:*:*:*:*:*:*:*
  • cpe:2.3:a:python:pillow:4.2.1:*:*:*:*:*:*:*
    cpe:2.3:a:python:pillow:4.2.1:*:*:*:*:*:*:*
  • cpe:2.3:a:python:pillow:4.3.0:*:*:*:*:*:*:*
    cpe:2.3:a:python:pillow:4.3.0:*:*:*:*:*:*:*
  • cpe:2.3:a:python:pillow:5.0.0:*:*:*:*:*:*:*
    cpe:2.3:a:python:pillow:5.0.0:*:*:*:*:*:*:*
  • cpe:2.3:a:python:pillow:5.1.0:*:*:*:*:*:*:*
    cpe:2.3:a:python:pillow:5.1.0:*:*:*:*:*:*:*
  • cpe:2.3:a:python:pillow:5.2.0:*:*:*:*:*:*:*
    cpe:2.3:a:python:pillow:5.2.0:*:*:*:*:*:*:*
  • cpe:2.3:a:python:pillow:5.3.0:*:*:*:*:*:*:*
    cpe:2.3:a:python:pillow:5.3.0:*:*:*:*:*:*:*
  • cpe:2.3:a:python:pillow:5.4.0:*:*:*:*:*:*:*
    cpe:2.3:a:python:pillow:5.4.0:*:*:*:*:*:*:*
  • cpe:2.3:a:python:pillow:5.4.1:*:*:*:*:*:*:*
    cpe:2.3:a:python:pillow:5.4.1:*:*:*:*:*:*:*
  • cpe:2.3:a:python:pillow:6.0.0:*:*:*:*:*:*:*
    cpe:2.3:a:python:pillow:6.0.0:*:*:*:*:*:*:*
  • cpe:2.3:a:python:pillow:6.2.0:*:*:*:*:*:*:*
    cpe:2.3:a:python:pillow:6.2.0:*:*:*:*:*:*:*
  • cpe:2.3:o:debian:debian_linux:9.0:*:*:*:*:*:*:*
    cpe:2.3:o:debian:debian_linux:9.0:*:*:*:*:*:*:*
  • cpe:2.3:o:debian:debian_linux:10.0:*:*:*:*:*:*:*
    cpe:2.3:o:debian:debian_linux:10.0:*:*:*:*:*:*:*
  • cpe:2.3:o:fedoraproject:fedora:30:*:*:*:*:*:*:*
    cpe:2.3:o:fedoraproject:fedora:30:*:*:*:*:*:*:*
  • cpe:2.3:o:canonical:ubuntu_linux:18.04:*:*:*:lts:*:*:*
    cpe:2.3:o:canonical:ubuntu_linux:18.04:*:*:*:lts:*:*:*
  • cpe:2.3:o:canonical:ubuntu_linux:14.04:*:*:*:esm:*:*:*
    cpe:2.3:o:canonical:ubuntu_linux:14.04:*:*:*:esm:*:*:*
  • cpe:2.3:o:canonical:ubuntu_linux:19.10:*:*:*:*:*:*:*
    cpe:2.3:o:canonical:ubuntu_linux:19.10:*:*:*:*:*:*:*
  • cpe:2.3:o:canonical:ubuntu_linux:16.04:*:*:*:esm:*:*:*
    cpe:2.3:o:canonical:ubuntu_linux:16.04:*:*:*:esm:*:*:*
CVSS
Base: 5.0 (as of 01-02-2023 - 18:00)
Impact:
Exploitability:
CWE CWE-190
CAPEC
  • Forced Integer Overflow
    This attack forces an integer variable to go out of range. The integer variable is often used as an offset such as size of memory allocation or similarly. The attacker would typically control the value of such variable and try to get it out of range. For instance the integer in question is incremented past the maximum possible value, it may wrap to become a very small, or negative number, therefore providing a very incorrect value which can lead to unexpected behavior. At worst the attacker can execute arbitrary code.
Access
VectorComplexityAuthentication
NETWORK LOW NONE
Impact
ConfidentialityIntegrityAvailability
NONE NONE PARTIAL
cvss-vector via4 AV:N/AC:L/Au:N/C:N/I:N/A:P
refmap via4
confirm https://pillow.readthedocs.io/en/stable/releasenotes/6.2.2.html
debian DSA-4631
fedora FEDORA-2020-5cdbb19cca
ubuntu USN-4272-1
Last major update 01-02-2023 - 18:00
Published 05-01-2020 - 22:15
Last modified 01-02-2023 - 18:00
Back to Top