OpenPrinting CUPS is an open source printing system for Linux and other Unix-like operating systems. In versions 2.4.16 and prior, a local unprivileged user can coerce cupsd into authenticating to an attacker-controlled localhost IPP service with a reusable Authorization: Local ... token. That token is enough to drive /admin/ requests on localhost, and the attacker can combine CUPS-Create-Local-Printer with printer-is-shared=true to persist a file:///... queue even though the normal FileDevice policy rejects such URIs. Printing to that queue gives an arbitrary root file overwrite; the PoC below uses that primitive to drop a sudoers fragment and demonstrate root command execution. At time of publication, there are no publicly available patches.
{
"binaries": [
{
"binary_name": "cups",
"binary_version": "2.4.1op1-1ubuntu4.16"
},
{
"binary_name": "cups-bsd",
"binary_version": "2.4.1op1-1ubuntu4.16"
},
{
"binary_name": "cups-client",
"binary_version": "2.4.1op1-1ubuntu4.16"
},
{
"binary_name": "cups-common",
"binary_version": "2.4.1op1-1ubuntu4.16"
},
{
"binary_name": "cups-core-drivers",
"binary_version": "2.4.1op1-1ubuntu4.16"
},
{
"binary_name": "cups-daemon",
"binary_version": "2.4.1op1-1ubuntu4.16"
},
{
"binary_name": "cups-ipp-utils",
"binary_version": "2.4.1op1-1ubuntu4.16"
},
{
"binary_name": "cups-ppdc",
"binary_version": "2.4.1op1-1ubuntu4.16"
},
{
"binary_name": "cups-server-common",
"binary_version": "2.4.1op1-1ubuntu4.16"
},
{
"binary_name": "libcups2",
"binary_version": "2.4.1op1-1ubuntu4.16"
},
{
"binary_name": "libcups2-dev",
"binary_version": "2.4.1op1-1ubuntu4.16"
},
{
"binary_name": "libcupsimage2",
"binary_version": "2.4.1op1-1ubuntu4.16"
},
{
"binary_name": "libcupsimage2-dev",
"binary_version": "2.4.1op1-1ubuntu4.16"
}
]
}{
"binaries": [
{
"binary_name": "cups",
"binary_version": "2.4.7-1.2ubuntu7.9"
},
{
"binary_name": "cups-bsd",
"binary_version": "2.4.7-1.2ubuntu7.9"
},
{
"binary_name": "cups-client",
"binary_version": "2.4.7-1.2ubuntu7.9"
},
{
"binary_name": "cups-common",
"binary_version": "2.4.7-1.2ubuntu7.9"
},
{
"binary_name": "cups-core-drivers",
"binary_version": "2.4.7-1.2ubuntu7.9"
},
{
"binary_name": "cups-daemon",
"binary_version": "2.4.7-1.2ubuntu7.9"
},
{
"binary_name": "cups-ipp-utils",
"binary_version": "2.4.7-1.2ubuntu7.9"
},
{
"binary_name": "cups-ppdc",
"binary_version": "2.4.7-1.2ubuntu7.9"
},
{
"binary_name": "cups-server-common",
"binary_version": "2.4.7-1.2ubuntu7.9"
},
{
"binary_name": "libcups2-dev",
"binary_version": "2.4.7-1.2ubuntu7.9"
},
{
"binary_name": "libcups2t64",
"binary_version": "2.4.7-1.2ubuntu7.9"
},
{
"binary_name": "libcupsimage2-dev",
"binary_version": "2.4.7-1.2ubuntu7.9"
},
{
"binary_name": "libcupsimage2t64",
"binary_version": "2.4.7-1.2ubuntu7.9"
}
]
}{
"binaries": [
{
"binary_name": "cups",
"binary_version": "2.4.12-0ubuntu3.5"
},
{
"binary_name": "cups-bsd",
"binary_version": "2.4.12-0ubuntu3.5"
},
{
"binary_name": "cups-client",
"binary_version": "2.4.12-0ubuntu3.5"
},
{
"binary_name": "cups-common",
"binary_version": "2.4.12-0ubuntu3.5"
},
{
"binary_name": "cups-core-drivers",
"binary_version": "2.4.12-0ubuntu3.5"
},
{
"binary_name": "cups-daemon",
"binary_version": "2.4.12-0ubuntu3.5"
},
{
"binary_name": "cups-ipp-utils",
"binary_version": "2.4.12-0ubuntu3.5"
},
{
"binary_name": "cups-ppdc",
"binary_version": "2.4.12-0ubuntu3.5"
},
{
"binary_name": "cups-server-common",
"binary_version": "2.4.12-0ubuntu3.5"
},
{
"binary_name": "libcups2-dev",
"binary_version": "2.4.12-0ubuntu3.5"
},
{
"binary_name": "libcups2t64",
"binary_version": "2.4.12-0ubuntu3.5"
},
{
"binary_name": "libcupsimage2-dev",
"binary_version": "2.4.12-0ubuntu3.5"
},
{
"binary_name": "libcupsimage2t64",
"binary_version": "2.4.12-0ubuntu3.5"
}
]
}{
"binaries": [
{
"binary_name": "cups",
"binary_version": "2.1.3-4ubuntu0.11+esm12"
},
{
"binary_name": "cups-bsd",
"binary_version": "2.1.3-4ubuntu0.11+esm12"
},
{
"binary_name": "cups-client",
"binary_version": "2.1.3-4ubuntu0.11+esm12"
},
{
"binary_name": "cups-common",
"binary_version": "2.1.3-4ubuntu0.11+esm12"
},
{
"binary_name": "cups-core-drivers",
"binary_version": "2.1.3-4ubuntu0.11+esm12"
},
{
"binary_name": "cups-daemon",
"binary_version": "2.1.3-4ubuntu0.11+esm12"
},
{
"binary_name": "cups-ipp-utils",
"binary_version": "2.1.3-4ubuntu0.11+esm12"
},
{
"binary_name": "cups-ppdc",
"binary_version": "2.1.3-4ubuntu0.11+esm12"
},
{
"binary_name": "cups-server-common",
"binary_version": "2.1.3-4ubuntu0.11+esm12"
},
{
"binary_name": "libcups2",
"binary_version": "2.1.3-4ubuntu0.11+esm12"
},
{
"binary_name": "libcups2-dev",
"binary_version": "2.1.3-4ubuntu0.11+esm12"
},
{
"binary_name": "libcupscgi1",
"binary_version": "2.1.3-4ubuntu0.11+esm12"
},
{
"binary_name": "libcupscgi1-dev",
"binary_version": "2.1.3-4ubuntu0.11+esm12"
},
{
"binary_name": "libcupsimage2",
"binary_version": "2.1.3-4ubuntu0.11+esm12"
},
{
"binary_name": "libcupsimage2-dev",
"binary_version": "2.1.3-4ubuntu0.11+esm12"
},
{
"binary_name": "libcupsmime1",
"binary_version": "2.1.3-4ubuntu0.11+esm12"
},
{
"binary_name": "libcupsmime1-dev",
"binary_version": "2.1.3-4ubuntu0.11+esm12"
},
{
"binary_name": "libcupsppdc1",
"binary_version": "2.1.3-4ubuntu0.11+esm12"
},
{
"binary_name": "libcupsppdc1-dev",
"binary_version": "2.1.3-4ubuntu0.11+esm12"
}
]
}{
"binaries": [
{
"binary_name": "cups",
"binary_version": "2.2.7-1ubuntu2.10+esm10"
},
{
"binary_name": "cups-bsd",
"binary_version": "2.2.7-1ubuntu2.10+esm10"
},
{
"binary_name": "cups-client",
"binary_version": "2.2.7-1ubuntu2.10+esm10"
},
{
"binary_name": "cups-common",
"binary_version": "2.2.7-1ubuntu2.10+esm10"
},
{
"binary_name": "cups-core-drivers",
"binary_version": "2.2.7-1ubuntu2.10+esm10"
},
{
"binary_name": "cups-daemon",
"binary_version": "2.2.7-1ubuntu2.10+esm10"
},
{
"binary_name": "cups-ipp-utils",
"binary_version": "2.2.7-1ubuntu2.10+esm10"
},
{
"binary_name": "cups-ppdc",
"binary_version": "2.2.7-1ubuntu2.10+esm10"
},
{
"binary_name": "cups-server-common",
"binary_version": "2.2.7-1ubuntu2.10+esm10"
},
{
"binary_name": "libcups2",
"binary_version": "2.2.7-1ubuntu2.10+esm10"
},
{
"binary_name": "libcups2-dev",
"binary_version": "2.2.7-1ubuntu2.10+esm10"
},
{
"binary_name": "libcupscgi1",
"binary_version": "2.2.7-1ubuntu2.10+esm10"
},
{
"binary_name": "libcupsimage2",
"binary_version": "2.2.7-1ubuntu2.10+esm10"
},
{
"binary_name": "libcupsimage2-dev",
"binary_version": "2.2.7-1ubuntu2.10+esm10"
},
{
"binary_name": "libcupsmime1",
"binary_version": "2.2.7-1ubuntu2.10+esm10"
},
{
"binary_name": "libcupsppdc1",
"binary_version": "2.2.7-1ubuntu2.10+esm10"
}
]
}{
"binaries": [
{
"binary_name": "cups",
"binary_version": "2.3.1-9ubuntu1.9+esm4"
},
{
"binary_name": "cups-bsd",
"binary_version": "2.3.1-9ubuntu1.9+esm4"
},
{
"binary_name": "cups-client",
"binary_version": "2.3.1-9ubuntu1.9+esm4"
},
{
"binary_name": "cups-common",
"binary_version": "2.3.1-9ubuntu1.9+esm4"
},
{
"binary_name": "cups-core-drivers",
"binary_version": "2.3.1-9ubuntu1.9+esm4"
},
{
"binary_name": "cups-daemon",
"binary_version": "2.3.1-9ubuntu1.9+esm4"
},
{
"binary_name": "cups-ipp-utils",
"binary_version": "2.3.1-9ubuntu1.9+esm4"
},
{
"binary_name": "cups-ppdc",
"binary_version": "2.3.1-9ubuntu1.9+esm4"
},
{
"binary_name": "cups-server-common",
"binary_version": "2.3.1-9ubuntu1.9+esm4"
},
{
"binary_name": "libcups2",
"binary_version": "2.3.1-9ubuntu1.9+esm4"
},
{
"binary_name": "libcups2-dev",
"binary_version": "2.3.1-9ubuntu1.9+esm4"
},
{
"binary_name": "libcupsimage2",
"binary_version": "2.3.1-9ubuntu1.9+esm4"
},
{
"binary_name": "libcupsimage2-dev",
"binary_version": "2.3.1-9ubuntu1.9+esm4"
}
]
}