Skip to content
Heist/ feed
Back to feed
Medium

Security advisory

Type: advisorySources: OSVCVE: CVE-2021-22564

For certain valid JPEG XL images with a size slightly larger than an integer number of groups (256x256 pixels) when processing the groups out of order the decoder can perform an out of bounds copy of image pixels from an image buffer in the heap to another. This copy can occur when processing the right or bottom edges of the image, but only when groups are processed in certain order. Groups can be processed out of order in multi-threaded decoding environments with heavy thread load but also with images that contain the groups in an arbitrary order in the file. It is recommended to upgrade past 0.6.0 or patch with https://github.com/libjxl/libjxl/pull/775

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2021-22564
Confirmed fixed CVEs
Not specified
Updated in this feed
31 Oct 2026, 11:14 UTC · Revision 1

Source evidence

CVE-2021-22564

core-osv · Original source

Published 1 Nov 2021, 13:15 UTC

For certain valid JPEG XL images with a size slightly larger than an integer number of groups (256x256 pixels) when processing the groups out of order the decoder can perform an out of bounds copy of image pixels from an image buffer in the heap to another. This copy can occur when processing the right or bottom edges of the image, but only when groups are processed in certain order. Groups can be processed out of order in multi-threaded decoding environments with heavy thread load but also with images that contain the groups in an arbitrary order in the file. It is recommended to upgrade past 0.6.0 or patch with https://github.com/libjxl/libjxl/pull/775

osv:CVE-2021-22564
Complete source record
{
  "id": "0d48d67761dd5d9bffc759e228283c9abd58523aff657b92a69b89fe8f078026",
  "url": "https://osv.dev/vulnerability/CVE-2021-22564",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "CVE-2021-22564",
    "summary": "For certain valid JPEG XL images with a size slightly larger than an integer number of groups (256x256 pixels) when processing the groups out of order the decoder can perform an out of bounds copy of image pixels from an image buffer in the heap to another. This copy can occur when processing the right or bottom edges of the image, but only when groups are processed in certain order. Groups can be processed out of order in multi-threaded decoding environments with heavy thread load but also with images that contain the groups in an arbitrary order in the file. It is recommended to upgrade past 0.6.0 or patch with https://github.com/libjxl/libjxl/pull/775",
    "evidence": "osv:CVE-2021-22564",
    "products": [],
    "severity": "medium",
    "structured": {
      "id": "CVE-2021-22564",
      "aliases": [
        "CVE-2021-22564"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/libjxl/libjxl",
              "type": "GIT",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "last_affected": "25ef9145273eb5fe3db04e196327c77e404308d8"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "cpe": "cpe:2.3:a:libjxl_project:libjxl:*:*:*:*:*:*:*:*",
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "last_affected": "0.6.0"
                      }
                    ],
                    "source": "CPE_RANGE"
                  }
                ]
              }
            }
          ],
          "versions": [
            "v0.6.0",
            "v0.6",
            "v0.6-base",
            "v0.5-base",
            "v0.3.7",
            "v0.3.6",
            "v0.3.5",
            "v0.3.4",
            "v0.3.3",
            "v0.3.2",
            "v0.3.1",
            "v0.3.0",
            "v0.3",
            "v0.2.0",
            "v0.2",
            "v0.1.1",
            "v0.1.0",
            "v0.1"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2021-22564.json"
          }
        }
      ],
      "modified": "2026-10-20T10:53:36.536616558Z",
      "provider": "osv",
      "references": [
        "https://github.com/libjxl/libjxl/issues/708",
        "https://github.com/libjxl/libjxl/pull/775"
      ],
      "provider_metadata": {}
    },
    "related_cves": [
      {
        "value": "CVE-2021-22564",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 384437,
  "published_at": "2021-11-01T13:15:07.713+00:00"
}