OpenPrinting CUPS is an open source printing system for Linux and other Unix-like operating systems. In versions 2.4.16 and prior, an integer underflow vulnerability in _ppdCreateFromIPP() (cups/ppd-cache.c) allows any unprivileged local user to crash the cupsd root process by supplying a negative job-password-supported IPP attribute. The bounds check only caps the upper bound, so a negative value passes validation, is cast to size_t (wrapping to ~2^64), and is used as the length argument to memset() on a 33-byte stack buffer. This causes an immediate SIGSEGV in the cupsd root process. Combined with systemds Restart=on-failure, an attacker can repeat the crash for sustained denial of service.
The product subtracts one value from another, such that the result is less than the minimum allowable integer value, which produces a value that is not equal to the correct result.
| Name | Vendor | Start Version | End Version |
|---|---|---|---|
| Cups | Openprinting | * | 2.4.16 (including) |
| Red Hat Hardened Images | RedHat | cups-main-2.4.17-1.hum1 | * |
| Cups | Ubuntu | devel | * |
| Cups | Ubuntu | esm-infra/bionic | * |
| Cups | Ubuntu | esm-infra/focal | * |
| Cups | Ubuntu | esm-infra/xenial | * |
| Cups | Ubuntu | jammy | * |
| Cups | Ubuntu | noble | * |
| Cups | Ubuntu | questing | * |
| Cups | Ubuntu | resolute | * |
| Cups | Ubuntu | upstream | * |