oesa-2021-1110
Vulnerability from osv_openeuler
Use ImageMagick to create, edit, compose, or convert bitmap images. It can read and write images in a variety of formats (over 200) including PNG, JPEG, GIF, HEIC, TIFF, DPX, EXR, WebP, Postscript, PDF, and SVG. Use ImageMagick to resize, flip, mirror, rotate, distort, shear and transform images, adjust image colors, apply various special effects, or draw text, lines, polygons, ellipses and Bézier curves.
Security Fix(es):
A flaw was found in ImageMagick in MagickCore/resize.c. An attacker who submits a crafted file that is processed by ImageMagick could trigger undefined behavior in the form of math division by zero. This would most likely lead to an impact to application availability, but could potentially cause other problems related to undefined behavior. This flaw affects ImageMagick versions prior to 7.0.8-68.(CVE-2020-27763)
A flaw was found in ImageMagick in MagickCore/gem-private.h. An attacker who submits a crafted file that is processed by ImageMagick could trigger undefined behavior in the form of values outside the range of type unsigned char or division by zero. This would most likely lead to an impact to application availability, but could potentially cause other problems related to undefined behavior. This flaw affects ImageMagick versions prior to 7.0.9-0.(CVE-2020-27773)
The PALM image coder at coders/palm.c makes an improper call to AcquireQuantumMemory() in routine WritePALMImage() because it needs to be offset by 256. This can cause a out-of-bounds read later on in the routine. The patch adds 256 to bytes_per_row in the call to AcquireQuantumMemory(). This could cause impact to reliability. This flaw affects ImageMagick versions prior to 7.0.8-68.(CVE-2020-25665)
WriteOnePNGImage() from coders/png.c (the PNG coder) has a for loop with an improper exit condition that can allow an out-of-bounds READ via heap-buffer-overflow. This occurs because it is possible for the colormap to have less than 256 valid values but the loop condition will loop 256 times, attempting to pass invalid colormap data to the event logger. The patch replaces the hardcoded 256 value with a call to MagickMin() to ensure the proper value is used. This could impact application availability when a specially crafted input file is processed by ImageMagick. This flaw affects ImageMagick versions prior to 7.0.8-68.(CVE-2020-25674)
A flaw was found in ImageMagick in MagickCore/colorspace-private.h and MagickCore/quantum.h. An attacker who submits a crafted file that is processed by ImageMagick could trigger undefined behavior in the form of values outside the range of type unsigned char and math division by zero. This would most likely lead to an impact to application availability, but could potentially cause other problems related to undefined behavior. This flaw affects ImageMagick versions prior to 7.0.8-68.(CVE-2020-27750)
A divide-by-zero flaw was found in ImageMagick 6.9.11-57 and 7.0.10-57 in gem.c. This flaw allows an attacker who submits a crafted file that is processed by ImageMagick to trigger undefined behavior through a division by zero. The highest threat from this vulnerability is to system availability.(CVE-2021-20176)
In ImageMagick, there is an outside the range of representable values of type 'unsigned int' at MagickCore/quantum-private.h. This flaw affects ImageMagick versions prior to 7.0.9-0.(CVE-2020-27768)
A flaw was found in ImageMagick in coders/jp2.c. An attacker who submits a crafted file that is processed by ImageMagick could trigger undefined behavior in the form of math division by zero. The highest threat from this vulnerability is to system availability.(CVE-2021-20241)
A flaw was found in ImageMagick in MagickCore/resize.c. An attacker who submits a crafted file that is processed by ImageMagick could trigger undefined behavior in the form of math division by zero. The highest threat from this vulnerability is to system availability.(CVE-2021-20243)
A flaw was found in ImageMagick in MagickCore/visual-effects.c. An attacker who submits a crafted file that is processed by ImageMagick could trigger undefined behavior in the form of math division by zero. The highest threat from this vulnerability is to system availability.(CVE-2021-20244)
A flaw was found in ImageMagick in MagickCore/resample.c. An attacker who submits a crafted file that is processed by ImageMagick could trigger undefined behavior in the form of math division by zero. The highest threat from this vulnerability is to system availability.(CVE-2021-20246)
{
"affected": [
{
"ecosystem_specific": {
"aarch64": [
"ImageMagick-debuginfo-6.9.10.67-19.oe1.aarch64.rpm",
"ImageMagick-6.9.10.67-19.oe1.aarch64.rpm",
"ImageMagick-debugsource-6.9.10.67-19.oe1.aarch64.rpm",
"ImageMagick-help-6.9.10.67-19.oe1.aarch64.rpm",
"ImageMagick-c++-6.9.10.67-19.oe1.aarch64.rpm",
"ImageMagick-c++-devel-6.9.10.67-19.oe1.aarch64.rpm",
"ImageMagick-devel-6.9.10.67-19.oe1.aarch64.rpm",
"ImageMagick-perl-6.9.10.67-19.oe1.aarch64.rpm",
"ImageMagick-help-6.9.10.67-19.oe1.aarch64.rpm",
"ImageMagick-debugsource-6.9.10.67-19.oe1.aarch64.rpm",
"ImageMagick-debuginfo-6.9.10.67-19.oe1.aarch64.rpm",
"ImageMagick-perl-6.9.10.67-19.oe1.aarch64.rpm",
"ImageMagick-c++-6.9.10.67-19.oe1.aarch64.rpm",
"ImageMagick-devel-6.9.10.67-19.oe1.aarch64.rpm",
"ImageMagick-c++-devel-6.9.10.67-19.oe1.aarch64.rpm",
"ImageMagick-6.9.10.67-19.oe1.aarch64.rpm"
],
"src": [
"ImageMagick-6.9.10.67-19.oe1.src.rpm",
"ImageMagick-6.9.10.67-19.oe1.src.rpm"
],
"x86_64": [
"ImageMagick-debuginfo-6.9.10.67-19.oe1.x86_64.rpm",
"ImageMagick-c++-devel-6.9.10.67-19.oe1.x86_64.rpm",
"ImageMagick-devel-6.9.10.67-19.oe1.x86_64.rpm",
"ImageMagick-6.9.10.67-19.oe1.x86_64.rpm",
"ImageMagick-c++-6.9.10.67-19.oe1.x86_64.rpm",
"ImageMagick-help-6.9.10.67-19.oe1.x86_64.rpm",
"ImageMagick-perl-6.9.10.67-19.oe1.x86_64.rpm",
"ImageMagick-debugsource-6.9.10.67-19.oe1.x86_64.rpm",
"ImageMagick-c++-devel-6.9.10.67-19.oe1.x86_64.rpm",
"ImageMagick-perl-6.9.10.67-19.oe1.x86_64.rpm",
"ImageMagick-c++-6.9.10.67-19.oe1.x86_64.rpm",
"ImageMagick-help-6.9.10.67-19.oe1.x86_64.rpm",
"ImageMagick-6.9.10.67-19.oe1.x86_64.rpm",
"ImageMagick-debuginfo-6.9.10.67-19.oe1.x86_64.rpm",
"ImageMagick-devel-6.9.10.67-19.oe1.x86_64.rpm",
"ImageMagick-debugsource-6.9.10.67-19.oe1.x86_64.rpm"
]
},
"package": {
"ecosystem": "openEuler:20.03-LTS",
"name": "ImageMagick",
"purl": "pkg:rpm/openEuler/ImageMagick\u0026distro=openEuler-20.03-LTS"
},
"ranges": [
{
"events": [
{
"introduced": "0"
},
{
"fixed": "6.9.10.67-19.oe1"
}
],
"type": "ECOSYSTEM"
}
]
},
{
"ecosystem_specific": {
"aarch64": [
"ImageMagick-help-6.9.10.67-19.oe1.aarch64.rpm",
"ImageMagick-debugsource-6.9.10.67-19.oe1.aarch64.rpm",
"ImageMagick-debuginfo-6.9.10.67-19.oe1.aarch64.rpm",
"ImageMagick-perl-6.9.10.67-19.oe1.aarch64.rpm",
"ImageMagick-c++-6.9.10.67-19.oe1.aarch64.rpm",
"ImageMagick-devel-6.9.10.67-19.oe1.aarch64.rpm",
"ImageMagick-c++-devel-6.9.10.67-19.oe1.aarch64.rpm",
"ImageMagick-6.9.10.67-19.oe1.aarch64.rpm"
],
"src": [
"ImageMagick-6.9.10.67-19.oe1.src.rpm"
],
"x86_64": [
"ImageMagick-c++-devel-6.9.10.67-19.oe1.x86_64.rpm",
"ImageMagick-perl-6.9.10.67-19.oe1.x86_64.rpm",
"ImageMagick-c++-6.9.10.67-19.oe1.x86_64.rpm",
"ImageMagick-help-6.9.10.67-19.oe1.x86_64.rpm",
"ImageMagick-6.9.10.67-19.oe1.x86_64.rpm",
"ImageMagick-debuginfo-6.9.10.67-19.oe1.x86_64.rpm",
"ImageMagick-devel-6.9.10.67-19.oe1.x86_64.rpm",
"ImageMagick-debugsource-6.9.10.67-19.oe1.x86_64.rpm"
]
},
"package": {
"ecosystem": "openEuler:20.03-LTS-SP1",
"name": "ImageMagick",
"purl": "pkg:rpm/openEuler/ImageMagick\u0026distro=openEuler-20.03-LTS-SP1"
},
"ranges": [
{
"events": [
{
"introduced": "0"
},
{
"fixed": "6.9.10.67-19.oe1"
}
],
"type": "ECOSYSTEM"
}
]
}
],
"database_specific": {
"severity": "Medium"
},
"details": "Use ImageMagick to create, edit, compose, or convert bitmap images. It can read and write images in a variety of formats (over 200) including PNG, JPEG, GIF, HEIC, TIFF, DPX, EXR, WebP, Postscript, PDF, and SVG. Use ImageMagick to resize, flip, mirror, rotate, distort, shear and transform images, adjust image colors, apply various special effects, or draw text, lines, polygons, ellipses and B\u00e9zier curves.\r\n\r\nSecurity Fix(es):\r\n\r\nA flaw was found in ImageMagick in MagickCore/resize.c. An attacker who submits a crafted file that is processed by ImageMagick could trigger undefined behavior in the form of math division by zero. This would most likely lead to an impact to application availability, but could potentially cause other problems related to undefined behavior. This flaw affects ImageMagick versions prior to 7.0.8-68.(CVE-2020-27763)\r\n\r\nA flaw was found in ImageMagick in MagickCore/gem-private.h. An attacker who submits a crafted file that is processed by ImageMagick could trigger undefined behavior in the form of values outside the range of type `unsigned char` or division by zero. This would most likely lead to an impact to application availability, but could potentially cause other problems related to undefined behavior. This flaw affects ImageMagick versions prior to 7.0.9-0.(CVE-2020-27773)\r\n\r\nThe PALM image coder at coders/palm.c makes an improper call to AcquireQuantumMemory() in routine WritePALMImage() because it needs to be offset by 256. This can cause a out-of-bounds read later on in the routine. The patch adds 256 to bytes_per_row in the call to AcquireQuantumMemory(). This could cause impact to reliability. This flaw affects ImageMagick versions prior to 7.0.8-68.(CVE-2020-25665)\r\n\r\nWriteOnePNGImage() from coders/png.c (the PNG coder) has a for loop with an improper exit condition that can allow an out-of-bounds READ via heap-buffer-overflow. This occurs because it is possible for the colormap to have less than 256 valid values but the loop condition will loop 256 times, attempting to pass invalid colormap data to the event logger. The patch replaces the hardcoded 256 value with a call to MagickMin() to ensure the proper value is used. This could impact application availability when a specially crafted input file is processed by ImageMagick. This flaw affects ImageMagick versions prior to 7.0.8-68.(CVE-2020-25674)\r\n\r\nA flaw was found in ImageMagick in MagickCore/colorspace-private.h and MagickCore/quantum.h. An attacker who submits a crafted file that is processed by ImageMagick could trigger undefined behavior in the form of values outside the range of type `unsigned char` and math division by zero. This would most likely lead to an impact to application availability, but could potentially cause other problems related to undefined behavior. This flaw affects ImageMagick versions prior to 7.0.8-68.(CVE-2020-27750)\r\n\r\nA divide-by-zero flaw was found in ImageMagick 6.9.11-57 and 7.0.10-57 in gem.c. This flaw allows an attacker who submits a crafted file that is processed by ImageMagick to trigger undefined behavior through a division by zero. The highest threat from this vulnerability is to system availability.(CVE-2021-20176)\r\n\r\nIn ImageMagick, there is an outside the range of representable values of type \u0026apos;unsigned int\u0026apos; at MagickCore/quantum-private.h. This flaw affects ImageMagick versions prior to 7.0.9-0.(CVE-2020-27768)\r\n\r\nA flaw was found in ImageMagick in coders/jp2.c. An attacker who submits a crafted file that is processed by ImageMagick could trigger undefined behavior in the form of math division by zero. The highest threat from this vulnerability is to system availability.(CVE-2021-20241)\r\n\r\nA flaw was found in ImageMagick in MagickCore/resize.c. An attacker who submits a crafted file that is processed by ImageMagick could trigger undefined behavior in the form of math division by zero. The highest threat from this vulnerability is to system availability.(CVE-2021-20243)\r\n\r\nA flaw was found in ImageMagick in MagickCore/visual-effects.c. An attacker who submits a crafted file that is processed by ImageMagick could trigger undefined behavior in the form of math division by zero. The highest threat from this vulnerability is to system availability.(CVE-2021-20244)\r\n\r\nA flaw was found in ImageMagick in MagickCore/resample.c. An attacker who submits a crafted file that is processed by ImageMagick could trigger undefined behavior in the form of math division by zero. The highest threat from this vulnerability is to system availability.(CVE-2021-20246)",
"id": "OESA-2021-1110",
"modified": "2026-08-06T11:04:20Z",
"published": "2021-04-07T11:04:20Z",
"references": [
{
"type": "ADVISORY",
"url": "https://openeuler.org/en/security/safety-bulletin/detail.html?id=openEuler-SA-2021-1110"
},
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2020-27763"
},
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2020-27773"
},
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2020-25665"
},
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2020-25674"
},
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2020-27750"
},
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2021-20176"
},
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2020-27768"
},
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2021-20241"
},
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2021-20243"
},
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2021-20244"
},
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2021-20246"
}
],
"schema_version": "1.7.2",
"severity": [
{
"score": "CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H",
"type": "CVSS_V3"
}
],
"summary": "ImageMagick security update",
"upstream": [
"CVE-2020-27763",
"CVE-2020-27773",
"CVE-2020-25665",
"CVE-2020-25674",
"CVE-2020-27750",
"CVE-2021-20176",
"CVE-2020-27768",
"CVE-2021-20241",
"CVE-2021-20243",
"CVE-2021-20244",
"CVE-2021-20246"
]
}
Sightings
| Author | Source | Type | Date | Other |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or observed by the user.
- Confirmed: The vulnerability has been validated from an analyst's perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
- Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
- Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
- Not confirmed: The user expressed doubt about the validity of the vulnerability.
- Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.
The approach is described in our paper Mapping CVEs to MITRE ATT&CK Techniques: A Curated Gold-Set Classifier and the Limits of LLM-Assisted Label Expansion.
Browse all ATT&CK techniques and the vulnerabilities related to each.
Related by attack behaviour
Vulnerabilities whose description is nearest to this one in the vector space of the CIRCL/vulnerability-attack-technique-biencoder model. This is a similarity search over the bi-encoder space (plain cosine), not a classification, and it has no measured accuracy.