ubuntu-cve-2025-64503
Vulnerability from osv_ubuntu
Published
2025-11-12 00:00
Modified
2026-04-22 07:56
Summary
Details

cups-filters contains backends, filters, and other software required to get the cups printing service working on operating systems other than macos. In cups-filters prior to 1.28.18, by crafting a PDF file with a large MediaBox value, an attacker can cause CUPS-Filter 1.x’s pdftoraster tool to write beyond the bounds of an array. First, a PDF with a large MediaBox width value causes header.cupsWidth to become large. Next, the calculation of bytesPerLine = (header.cupsBitsPerPixel * header.cupsWidth + 7) / 8 overflows, resulting in a small value. Then, lineBuf is allocated with the small bytesPerLine size. Finally, convertLineChunked calls writePixel8, which attempts to write to lineBuf outside of its buffer size (out of bounds write). In libcupsfilters, the maintainers found the same bytesPerLine multiplication without overflow check, but the provided test case does not cause an overflow there, because the values are different. Commit 50d94ca0f2fa6177613c97c59791bde568631865 contains a patch, which is incorporated into cups-filters version 1.28.18.


{
  "affected": [
    {
      "ecosystem_specific": {
        "availability": "Available with Ubuntu Pro (Infra-only): https://ubuntu.com/pro",
        "binaries": [
          {
            "binary_name": "cups-browsed",
            "binary_version": "1.8.3-2ubuntu3.5+esm3"
          },
          {
            "binary_name": "cups-filters",
            "binary_version": "1.8.3-2ubuntu3.5+esm3"
          },
          {
            "binary_name": "cups-filters-core-drivers",
            "binary_version": "1.8.3-2ubuntu3.5+esm3"
          },
          {
            "binary_name": "libcupsfilters1",
            "binary_version": "1.8.3-2ubuntu3.5+esm3"
          },
          {
            "binary_name": "libfontembed1",
            "binary_version": "1.8.3-2ubuntu3.5+esm3"
          }
        ]
      },
      "package": {
        "ecosystem": "Ubuntu:Pro:16.04:LTS",
        "name": "cups-filters",
        "purl": "pkg:deb/ubuntu/cups-filters@1.8.3-2ubuntu3.5+esm3?arch=source\u0026distro=esm-infra/xenial"
      },
      "ranges": [
        {
          "events": [
            {
              "introduced": "0"
            },
            {
              "fixed": "1.8.3-2ubuntu3.5+esm3"
            }
          ],
          "type": "ECOSYSTEM"
        }
      ],
      "versions": [
        "1.0.76-1",
        "1.1.0-1",
        "1.1.0-1build1",
        "1.3.0-1",
        "1.4.0-1",
        "1.5.0-1",
        "1.6.0-1",
        "1.7.0-1",
        "1.8.1-1",
        "1.8.2-1",
        "1.8.2-2",
        "1.8.2-2ubuntu2",
        "1.8.2-2ubuntu3",
        "1.8.3-2ubuntu1",
        "1.8.3-2ubuntu2",
        "1.8.3-2ubuntu3",
        "1.8.3-2ubuntu3.1",
        "1.8.3-2ubuntu3.4",
        "1.8.3-2ubuntu3.5",
        "1.8.3-2ubuntu3.5+esm1",
        "1.8.3-2ubuntu3.5+esm2"
      ]
    },
    {
      "ecosystem_specific": {
        "availability": "Available with Ubuntu Pro (Infra-only): https://ubuntu.com/pro",
        "binaries": [
          {
            "binary_name": "cups-browsed",
            "binary_version": "1.20.2-0ubuntu3.3+esm2"
          },
          {
            "binary_name": "cups-filters",
            "binary_version": "1.20.2-0ubuntu3.3+esm2"
          },
          {
            "binary_name": "cups-filters-core-drivers",
            "binary_version": "1.20.2-0ubuntu3.3+esm2"
          },
          {
            "binary_name": "libcupsfilters1",
            "binary_version": "1.20.2-0ubuntu3.3+esm2"
          },
          {
            "binary_name": "libfontembed1",
            "binary_version": "1.20.2-0ubuntu3.3+esm2"
          }
        ]
      },
      "package": {
        "ecosystem": "Ubuntu:Pro:18.04:LTS",
        "name": "cups-filters",
        "purl": "pkg:deb/ubuntu/cups-filters@1.20.2-0ubuntu3.3+esm2?arch=source\u0026distro=esm-infra/bionic"
      },
      "ranges": [
        {
          "events": [
            {
              "introduced": "0"
            },
            {
              "fixed": "1.20.2-0ubuntu3.3+esm2"
            }
          ],
          "type": "ECOSYSTEM"
        }
      ],
      "versions": [
        "1.17.9-0ubuntu1",
        "1.17.9-1",
        "1.20.0-2",
        "1.20.1-1",
        "1.20.1-1build1",
        "1.20.2-0ubuntu1",
        "1.20.2-0ubuntu2",
        "1.20.2-0ubuntu3",
        "1.20.2-0ubuntu3.1",
        "1.20.2-0ubuntu3.3",
        "1.20.2-0ubuntu3.3+esm1"
      ]
    },
    {
      "ecosystem_specific": {
        "availability": "Available with Ubuntu Pro (Infra-only): https://ubuntu.com/pro",
        "binaries": [
          {
            "binary_name": "cups-browsed",
            "binary_version": "1.27.4-1ubuntu0.4+esm1"
          },
          {
            "binary_name": "cups-filters",
            "binary_version": "1.27.4-1ubuntu0.4+esm1"
          },
          {
            "binary_name": "cups-filters-core-drivers",
            "binary_version": "1.27.4-1ubuntu0.4+esm1"
          },
          {
            "binary_name": "libcupsfilters1",
            "binary_version": "1.27.4-1ubuntu0.4+esm1"
          },
          {
            "binary_name": "libfontembed1",
            "binary_version": "1.27.4-1ubuntu0.4+esm1"
          }
        ]
      },
      "package": {
        "ecosystem": "Ubuntu:Pro:20.04:LTS",
        "name": "cups-filters",
        "purl": "pkg:deb/ubuntu/cups-filters@1.27.4-1ubuntu0.4+esm1?arch=source\u0026distro=esm-infra/focal"
      },
      "ranges": [
        {
          "events": [
            {
              "introduced": "0"
            },
            {
              "fixed": "1.27.4-1ubuntu0.4+esm1"
            }
          ],
          "type": "ECOSYSTEM"
        }
      ],
      "versions": [
        "1.25.11-0ubuntu1",
        "1.25.11-1",
        "1.25.12-1",
        "1.25.13-1",
        "1.26.0-1",
        "1.26.1-1",
        "1.26.2-1",
        "1.27.0-1",
        "1.27.0-2",
        "1.27.1-1",
        "1.27.1-2",
        "1.27.1-3",
        "1.27.2-1",
        "1.27.3-1",
        "1.27.4-1",
        "1.27.4-1ubuntu0.2",
        "1.27.4-1ubuntu0.3",
        "1.27.4-1ubuntu0.4"
      ]
    },
    {
      "ecosystem_specific": {
        "availability": "No subscription required",
        "binaries": [
          {
            "binary_name": "cups-browsed",
            "binary_version": "1.28.15-0ubuntu1.5"
          },
          {
            "binary_name": "cups-filters",
            "binary_version": "1.28.15-0ubuntu1.5"
          },
          {
            "binary_name": "cups-filters-core-drivers",
            "binary_version": "1.28.15-0ubuntu1.5"
          },
          {
            "binary_name": "libcupsfilters1",
            "binary_version": "1.28.15-0ubuntu1.5"
          },
          {
            "binary_name": "libfontembed1",
            "binary_version": "1.28.15-0ubuntu1.5"
          }
        ]
      },
      "package": {
        "ecosystem": "Ubuntu:22.04:LTS",
        "name": "cups-filters",
        "purl": "pkg:deb/ubuntu/cups-filters@1.28.15-0ubuntu1.5?arch=source\u0026distro=jammy"
      },
      "ranges": [
        {
          "events": [
            {
              "introduced": "0"
            },
            {
              "fixed": "1.28.15-0ubuntu1.5"
            }
          ],
          "type": "ECOSYSTEM"
        }
      ],
      "versions": [
        "1.28.10-2",
        "1.28.11-1",
        "1.28.11-2",
        "1.28.12-1",
        "1.28.13-0ubuntu1",
        "1.28.14-1",
        "1.28.15-0ubuntu1",
        "1.28.15-0ubuntu1.2",
        "1.28.15-0ubuntu1.3",
        "1.28.15-0ubuntu1.4"
      ]
    },
    {
      "ecosystem_specific": {
        "availability": "No subscription required",
        "binaries": [
          {
            "binary_name": "libcupsfilters-tests",
            "binary_version": "2.0.0-0ubuntu7.2"
          },
          {
            "binary_name": "libcupsfilters2-common",
            "binary_version": "2.0.0-0ubuntu7.2"
          },
          {
            "binary_name": "libcupsfilters2t64",
            "binary_version": "2.0.0-0ubuntu7.2"
          }
        ]
      },
      "package": {
        "ecosystem": "Ubuntu:24.04:LTS",
        "name": "libcupsfilters",
        "purl": "pkg:deb/ubuntu/libcupsfilters@2.0.0-0ubuntu7.2?arch=source\u0026distro=noble"
      },
      "ranges": [
        {
          "events": [
            {
              "introduced": "0"
            },
            {
              "fixed": "2.0.0-0ubuntu7.2"
            }
          ],
          "type": "ECOSYSTEM"
        }
      ],
      "versions": [
        "2.0.0-0ubuntu1",
        "2.0.0-0ubuntu6",
        "2.0.0-0ubuntu7",
        "2.0.0-0ubuntu7.1"
      ]
    },
    {
      "ecosystem_specific": {
        "availability": "No subscription required",
        "binaries": [
          {
            "binary_name": "libcupsfilters-tests",
            "binary_version": "2.1.1-0ubuntu3.1"
          },
          {
            "binary_name": "libcupsfilters2-common",
            "binary_version": "2.1.1-0ubuntu3.1"
          },
          {
            "binary_name": "libcupsfilters2t64",
            "binary_version": "2.1.1-0ubuntu3.1"
          }
        ]
      },
      "package": {
        "ecosystem": "Ubuntu:25.10",
        "name": "libcupsfilters",
        "purl": "pkg:deb/ubuntu/libcupsfilters@2.1.1-0ubuntu3.1?arch=source\u0026distro=questing"
      },
      "ranges": [
        {
          "events": [
            {
              "introduced": "0"
            },
            {
              "fixed": "2.1.1-0ubuntu3.1"
            }
          ],
          "type": "ECOSYSTEM"
        }
      ],
      "versions": [
        "2.1.1-0ubuntu2",
        "2.1.1-0ubuntu3"
      ]
    }
  ],
  "aliases": [],
  "details": "cups-filters contains backends, filters, and other software required to get the cups printing service working on operating systems other than macos. In cups-filters prior to 1.28.18, by crafting a PDF file with a large `MediaBox` value, an attacker can cause CUPS-Filter 1.x\u2019s `pdftoraster` tool to write beyond the bounds of an array. First, a PDF with a large `MediaBox` width value causes `header.cupsWidth` to become large.  Next, the calculation of `bytesPerLine = (header.cupsBitsPerPixel * header.cupsWidth + 7) / 8` overflows, resulting in a small value. Then, `lineBuf` is allocated with the small `bytesPerLine` size. Finally, `convertLineChunked` calls `writePixel8`, which attempts to write to `lineBuf` outside of its buffer size (out of bounds write). In libcupsfilters, the maintainers found the same `bytesPerLine` multiplication without overflow check, but the provided test case does not cause an overflow there, because the values are different. Commit 50d94ca0f2fa6177613c97c59791bde568631865 contains a patch, which is incorporated into cups-filters version 1.28.18.",
  "id": "UBUNTU-CVE-2025-64503",
  "modified": "2026-04-22T07:56:56Z",
  "published": "2025-11-12T00:00:00Z",
  "references": [
    {
      "type": "REPORT",
      "url": "https://ubuntu.com/security/CVE-2025-64503"
    },
    {
      "type": "REPORT",
      "url": "https://www.cve.org/CVERecord?id=CVE-2025-64503"
    },
    {
      "type": "REPORT",
      "url": "https://www.openwall.com/lists/oss-security/2025/11/12/2"
    },
    {
      "type": "REPORT",
      "url": "https://github.com/OpenPrinting/cups-filters/security/advisories/GHSA-893j-2wr2-wrh9"
    },
    {
      "type": "ADVISORY",
      "url": "https://ubuntu.com/security/notices/USN-7877-1"
    },
    {
      "type": "ADVISORY",
      "url": "https://ubuntu.com/security/notices/USN-7878-1"
    }
  ],
  "related": [
    "USN-7877-1",
    "USN-7878-1"
  ],
  "schema_version": "1.7.0",
  "severity": [
    {
      "score": "CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L",
      "type": "CVSS_V3"
    },
    {
      "score": "CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:L",
      "type": "CVSS_V3"
    },
    {
      "score": "medium",
      "type": "Ubuntu"
    }
  ],
  "upstream": [
    "CVE-2025-64503"
  ]
}



Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.

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.

Loading…

Detection rules are retrieved from Rulezet.

Loading…

Loading…