| Reporter | Title | Published | Views | Family All 1097 |
|---|---|---|---|---|
| Security Bulletin: A security vulnerability has been identified in Pillow shipped with PowerAI. | 10 Jan 202019:15 | – | ibm | |
| Security Bulletin: A security vulnerability has been identified in Pillow shipped with IBM Watson Machine Learning Community Edition (WMLCE) containers | 20 May 202000:04 | – | ibm | |
| Pillow -- Multiple vulnerabilities | 19 Dec 201900:00 | – | freebsd | |
| Pillow -- Allocation of resources without limits or throttling | 24 Sep 201900:00 | – | freebsd | |
| Pillow -- multiple vulnerabilities | 1 Apr 202100:00 | – | freebsd | |
| CVE-2023-50447 | 19 Jan 202420:15 | – | attackerkb | |
| CVE-2021-28676 | 2 Jun 202116:15 | – | attackerkb | |
| CVE-2021-28675 | 2 Jun 202115:15 | – | attackerkb | |
| CVE-2022-22816 | 10 Jan 202214:12 | – | attackerkb | |
| CVE-2022-22817 | 10 Jan 202214:12 | – | attackerkb |
#%NASL_MIN_LEVEL 80900
##
# (C) Tenable, Inc.
#
# The package checks in this plugin were extracted from
# Alibaba Cloud Linux Security Advisory ALINUX3-SA-2022:0012.
##
include('compat.inc');
if (description)
{
script_id(236661);
script_version("1.1");
script_set_attribute(attribute:"plugin_modification_date", value:"2025/05/14");
script_cve_id(
"CVE-2019-16865",
"CVE-2020-5311",
"CVE-2020-5313",
"CVE-2020-11538",
"CVE-2020-35653",
"CVE-2020-35655",
"CVE-2021-25287",
"CVE-2021-25288",
"CVE-2021-25290",
"CVE-2021-25292",
"CVE-2021-25293",
"CVE-2021-27921",
"CVE-2021-27922",
"CVE-2021-27923",
"CVE-2021-28675",
"CVE-2021-28676",
"CVE-2021-28677",
"CVE-2021-28678",
"CVE-2021-34552",
"CVE-2022-22816",
"CVE-2022-22817"
);
script_name(english:"Alibaba Cloud Linux 3 : 0012: python-pillow (ALINUX3-SA-2022:0012)");
script_set_attribute(attribute:"synopsis", value:
"The remote Alibaba Cloud Linux host is missing one or more security updates.");
script_set_attribute(attribute:"description", value:
"The remote Alibaba Cloud Linux 3 host has packages installed that are affected by multiple vulnerabilities as referenced
in the ALINUX3-SA-2022:0012 advisory.
Package updates are available for Alibaba Cloud Linux 3 that fix the following vulnerabilities:
CVE-2019-16865:
An issue was discovered in Pillow before 6.2.0. When reading specially crafted invalid image files, the
library can either allocate very large amounts of memory or take an extremely long period of time to
process the image.
CVE-2020-11538:
In libImaging/SgiRleDecode.c in Pillow through 7.0.0, a number of out-of-bounds reads exist in the parsing
of SGI image files, a different issue than CVE-2020-5311.
CVE-2020-35655:
In Pillow before 8.1.0, SGIRleDecode has a 4-byte buffer over-read when decoding crafted SGI RLE image
files because offsets and length tables are mishandled.
CVE-2020-5311:
libImaging/SgiRleDecode.c in Pillow before 6.2.2 has an SGI buffer overflow.
CVE-2020-5313:
libImaging/FliDecode.c in Pillow before 6.2.2 has an FLI buffer overflow.
CVE-2021-27921:
Pillow before 8.1.1 allows attackers to cause a denial of service (memory consumption) because the
reported size of a contained image is not properly checked for a BLP container, and thus an attempted
memory allocation can be very large.
CVE-2021-27923:
Pillow before 8.1.1 allows attackers to cause a denial of service (memory consumption) because the
reported size of a contained image is not properly checked for an ICO container, and thus an attempted
memory allocation can be very large.
CVE-2021-28676:
An issue was discovered in Pillow before 8.2.0. For FLI data, FliDecode did not properly check that the
block advance was non-zero, potentially leading to an infinite loop on load.
CVE-2021-28678:
An issue was discovered in Pillow before 8.2.0. For BLP data, BlpImagePlugin did not properly check that
reads (after jumping to file offsets) returned data. This could lead to a DoS where the decoder could be
run a large number of times on empty data.
CVE-2021-34552:
Pillow through 8.2.0 and PIL (aka Python Imaging Library) through 1.1.7 allow an attacker to pass
controlled parameters directly into a convert function to trigger a buffer overflow in Convert.c.
CVE-2022-22816:
path_getbbox in path.c in Pillow before 9.0.0 has a buffer over-read during initialization of
ImagePath.Path.
CVE-2020-35653:
In Pillow before 8.1.0, PcxDecode has a buffer over-read when decoding a crafted PCX file because the
user-supplied stride value is trusted for buffer calculations. A flaw was found in python-pillow. The
PcxDecode in Pillow has a buffer over-read when decoding a crafted PCX file due to the user-supplied
stride value trusted for buffer calculations. The highest threat from this vulnerability is to system
availability.
CVE-2021-25287:
An issue was discovered in Pillow before 8.2.0. There is an out-of-bounds read in J2kDecode, in
j2ku_graya_la. There is an out-of-bounds read in J2kDecode in j2ku_graya_la. For J2k images with multiple
bands, its legal to have different widths for each band, e.g. 1 byte for L, 4 bytes for A.
CVE-2021-25288:
An issue was discovered in Pillow before 8.2.0. There is an out-of-bounds read in J2kDecode, in
j2ku_gray_i.There is an out-of-bounds read in J2kDecode in j2ku_gray_i. For J2k images with multiple
bands, its legal to have different widths for each band, e.g. 1 byte for L, 4 bytes for A.
CVE-2021-25290:
An issue was discovered in Pillow before 8.1.1. In TiffDecode.c, there is a negative-offset memcpy with an
invalid size. A flaw was found in python-pillow. In TiffDecode.c, there is a negative-offset memcpy with
an invalid size which could lead to a system crash.
CVE-2021-25292:
An issue was discovered in Pillow before 8.1.1. The PDF parser allows a regular expression DoS (ReDoS)
attack via a crafted PDF file because of a catastrophic backtracking regex. A flaw was found in python-
pillow. The PDF parser has a catastrophic backtracking regex that could be used as a DOS attack.
CVE-2021-25293:
An issue was discovered in Pillow before 8.1.1. There is an out-of-bounds read in SGIRleDecode.c. A flaw
was found in python-pillow. There is an Out of Bounds Read in SGIRleDecode.c.
CVE-2021-27922:
Pillow before 8.1.1 allows attackers to cause a denial of service (memory consumption) because the
reported size of a contained image is not properly checked for an ICNS container, and thus an attempted
memory allocation can be very large. A flaw was found in python-pillow. Attackers can cause a denial of
service (memory consumption) because the reported size of a contained image is not properly checked for an
ICNS container, and thus an attempted memory allocation can be very large.
CVE-2021-28675:
An issue was discovered in Pillow before 8.2.0. PSDImagePlugin.PsdImageFile lacked a sanity check on the
number of input layers relative to the size of the data block. This could lead to a DoS on Image.open
prior to Image.load. A flaw was found in python-pillow. PsdImagePlugin.PsdImageFile does not sanity check
the number of input layers with regard to the size of the data block which could lead to a denial-of-
service.
CVE-2021-28677
An issue was discovered in Pillow before 8.2.0. For EPS data, the readline implementation used in
EPSImageFile has to deal with any combination of \r and \n as line endings. It used an accidentally
quadratic method of accumulating lines while looking for a line ending. A malicious EPS file could use
this to perform a DoS of Pillow in the open phase, before an image was accepted for opening. A flaw was
found in python-pillow. The readline used in EPS has to deal with any combination of \r and \n as line
endings. It accidentally used a quadratic method of accumulating lines while looking for a line ending. A
malicious EPS file could use this to perform a denial-of-service of Pillow in the open phase, before an
image was accepted for opening.
CVE-2022-22817:
PIL.ImageMath.eval in Pillow before 9.0.0 allows evaluation of arbitrary expressions, such as ones that
use the Python exec method.
Tenable has extracted the preceding description block directly from the Alibaba Cloud Linux security advisory.
Note that Nessus has not tested for these issues but has instead relied only on the application's self-reported version
number.");
script_set_attribute(attribute:"see_also", value:"http://mirrors.aliyun.com/alinux/3/cve/alinux3-sa-20220012.xml");
script_set_attribute(attribute:"solution", value:
"Update the affected packages.");
script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:N/C:P/I:P/A:P");
script_set_cvss_temporal_vector("CVSS2#E:POC/RL:OF/RC:C");
script_set_cvss3_base_vector("CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H");
script_set_cvss3_temporal_vector("CVSS:3.0/E:P/RL:O/RC:C");
script_set_attribute(attribute:"cvss4_vector", value:"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N");
script_set_attribute(attribute:"cvss4_threat_vector", value:"CVSS:4.0/E:P");
script_set_attribute(attribute:"cvss_score_source", value:"CVE-2022-22817");
script_set_attribute(attribute:"exploitability_ease", value:"Exploits are available");
script_set_attribute(attribute:"exploit_available", value:"true");
script_set_attribute(attribute:"vuln_publication_date", value:"2019/10/04");
script_set_attribute(attribute:"patch_publication_date", value:"2022/02/24");
script_set_attribute(attribute:"plugin_publication_date", value:"2025/05/14");
script_set_attribute(attribute:"plugin_type", value:"local");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:alibabacloud:alibaba_cloud_linux_3:python-pillow-debuginfo");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:alibabacloud:alibaba_cloud_linux_3:python-pillow-debugsource");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:alibabacloud:alibaba_cloud_linux_3:python3-pillow");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:alibabacloud:alibaba_cloud_linux_3:python3-pillow-debuginfo");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:alibabacloud:alibaba_cloud_linux_3:python3-pillow-devel");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:alibabacloud:alibaba_cloud_linux_3:python3-pillow-doc");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:alibabacloud:alibaba_cloud_linux_3:python3-pillow-tk");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:alibabacloud:alibaba_cloud_linux_3:python3-pillow-tk-debuginfo");
script_set_attribute(attribute:"cpe", value:"cpe:/o:alibabacloud:alibaba_cloud_linux_3");
script_set_attribute(attribute:"generated_plugin", value:"current");
script_end_attributes();
script_category(ACT_GATHER_INFO);
script_family(english:"Alibaba Cloud Linux Local Security Checks");
script_copyright(english:"This script is Copyright (C) 2025 and is owned by Tenable, Inc. or an Affiliate thereof.");
script_dependencies("ssh_get_info.nasl");
script_require_keys("Host/local_checks_enabled", "Host/Alibaba/release", "Host/Alibaba/rpm-list", "Host/cpu");
exit(0);
}
include('rpm.inc');
if (!get_kb_item('Host/local_checks_enabled')) audit(AUDIT_LOCAL_CHECKS_NOT_ENABLED);
var os_release = get_kb_item('Host/Alibaba/release');
if (isnull(os_release) || 'Alibaba Cloud Linux' >!< os_release) audit(AUDIT_OS_NOT, 'Alibaba Cloud Linux');
var os_ver = pregmatch(pattern: "Alibaba Cloud Linux release ([0-9]+(\.[0-9]+)?)", string:os_release);
if (isnull(os_ver)) audit(AUDIT_UNKNOWN_APP_VER, 'Alibaba Cloud Linux');
os_ver = os_ver[1];
if (! preg(pattern:"^3([^0-9]|$)", string:os_ver)) audit(AUDIT_OS_NOT, 'Alibaba Cloud Linux 3.x', 'Alibaba Cloud Linux ' + os_ver);
if (!get_kb_item('Host/Alibaba/rpm-list')) audit(AUDIT_PACKAGE_LIST_MISSING);
var cpu = get_kb_item('Host/cpu');
if (isnull(cpu)) audit(AUDIT_UNKNOWN_ARCH);
if ('aarch64' >!< cpu && 'x86_64' >!< cpu) audit(AUDIT_LOCAL_CHECKS_NOT_IMPLEMENTED, 'Alibaba Cloud Linux', cpu);
var pkgs = [
{'reference':'python-pillow-debuginfo-5.1.1-18.al8', 'cpu':'aarch64', 'release':'3', 'rpm_spec_vers_cmp':TRUE, 'epoch':'0'},
{'reference':'python-pillow-debuginfo-5.1.1-18.al8', 'cpu':'x86_64', 'release':'3', 'rpm_spec_vers_cmp':TRUE, 'epoch':'0'},
{'reference':'python-pillow-debugsource-5.1.1-18.al8', 'cpu':'aarch64', 'release':'3', 'rpm_spec_vers_cmp':TRUE, 'epoch':'0'},
{'reference':'python-pillow-debugsource-5.1.1-18.al8', 'cpu':'x86_64', 'release':'3', 'rpm_spec_vers_cmp':TRUE, 'epoch':'0'},
{'reference':'python3-pillow-5.1.1-18.al8', 'cpu':'aarch64', 'release':'3', 'rpm_spec_vers_cmp':TRUE, 'epoch':'0'},
{'reference':'python3-pillow-5.1.1-18.al8', 'cpu':'x86_64', 'release':'3', 'rpm_spec_vers_cmp':TRUE, 'epoch':'0'},
{'reference':'python3-pillow-debuginfo-5.1.1-18.al8', 'cpu':'aarch64', 'release':'3', 'rpm_spec_vers_cmp':TRUE, 'epoch':'0'},
{'reference':'python3-pillow-debuginfo-5.1.1-18.al8', 'cpu':'x86_64', 'release':'3', 'rpm_spec_vers_cmp':TRUE, 'epoch':'0'},
{'reference':'python3-pillow-devel-5.1.1-18.al8', 'cpu':'aarch64', 'release':'3', 'rpm_spec_vers_cmp':TRUE, 'epoch':'0'},
{'reference':'python3-pillow-devel-5.1.1-18.al8', 'cpu':'x86_64', 'release':'3', 'rpm_spec_vers_cmp':TRUE, 'epoch':'0'},
{'reference':'python3-pillow-doc-5.1.1-18.al8', 'release':'3', 'rpm_spec_vers_cmp':TRUE, 'epoch':'0'},
{'reference':'python3-pillow-tk-5.1.1-18.al8', 'cpu':'aarch64', 'release':'3', 'rpm_spec_vers_cmp':TRUE, 'epoch':'0'},
{'reference':'python3-pillow-tk-5.1.1-18.al8', 'cpu':'x86_64', 'release':'3', 'rpm_spec_vers_cmp':TRUE, 'epoch':'0'},
{'reference':'python3-pillow-tk-debuginfo-5.1.1-18.al8', 'cpu':'aarch64', 'release':'3', 'rpm_spec_vers_cmp':TRUE, 'epoch':'0'},
{'reference':'python3-pillow-tk-debuginfo-5.1.1-18.al8', 'cpu':'x86_64', 'release':'3', 'rpm_spec_vers_cmp':TRUE, 'epoch':'0'}
];
var flag = 0;
foreach var package_array ( pkgs ) {
var reference = NULL;
var _release = NULL;
var sp = NULL;
var _cpu = NULL;
var el_string = NULL;
var rpm_spec_vers_cmp = NULL;
var epoch = NULL;
var allowmaj = NULL;
var exists_check = NULL;
var cves = NULL;
if (!empty_or_null(package_array['reference'])) reference = package_array['reference'];
if (!empty_or_null(package_array['release'])) _release = 'Alibaba Linux ' + package_array['release'];
if (!empty_or_null(package_array['sp'])) sp = package_array['sp'];
if (!empty_or_null(package_array['cpu'])) _cpu = package_array['cpu'];
if (!empty_or_null(package_array['el_string'])) el_string = package_array['el_string'];
if (!empty_or_null(package_array['rpm_spec_vers_cmp'])) rpm_spec_vers_cmp = package_array['rpm_spec_vers_cmp'];
if (!empty_or_null(package_array['epoch'])) epoch = package_array['epoch'];
if (!empty_or_null(package_array['allowmaj'])) allowmaj = package_array['allowmaj'];
if (!empty_or_null(package_array['exists_check'])) exists_check = package_array['exists_check'];
if (!empty_or_null(package_array['cves'])) cves = package_array['cves'];
if (reference && _release && (!exists_check || rpm_exists(release:_release, rpm:exists_check))) {
if (rpm_check(release:_release, sp:sp, cpu:_cpu, reference:reference, epoch:epoch, el_string:el_string, rpm_spec_vers_cmp:rpm_spec_vers_cmp, allowmaj:allowmaj, cves:cves)) flag++;
}
}
if (flag)
{
security_report_v4(
port : 0,
severity : SECURITY_HOLE,
extra : rpm_report_get()
);
exit(0);
}
else
{
var tested = pkg_tests_get();
if (tested) audit(AUDIT_PACKAGE_NOT_AFFECTED, tested);
else audit(AUDIT_PACKAGE_NOT_INSTALLED, 'python-pillow-debuginfo / python-pillow-debugsource / etc');
}
Data
Build on a solid foundation with Vulners data
We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data
Api
Power your application with Vulners API
The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access
App
Assess and manage vulnerabilities with Vulners tools
Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation