cups: fix CVE-2026-34979

Pick the upstream patch [1] as mentioned in [2].

[1] 0ff8897367
[2] https://security-tracker.debian.org/tracker/CVE-2026-34979

(From OE-Core rev: 7aaebb1682f0ea5f75860523efdef6fefda16307)

Signed-off-by: Deepak Rathore <deeratho@cisco.com>
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
This commit is contained in:
Deepak Rathore
2026-07-21 23:12:14 +05:30
committed by Paul Barker
parent 335776489f
commit 6fa69de2bc
2 changed files with 62 additions and 0 deletions

View File

@@ -28,6 +28,7 @@ SRC_URI = "${GITHUB_BASE_URI}/download/v${PV}/cups-${PV}-source.tar.gz \
file://CVE-2026-34980.patch \
file://CVE-2026-34980-regression_p1.patch \
file://CVE-2026-34980-regression_p2.patch \
file://CVE-2026-34979.patch \
"
GITHUB_BASE_URI = "https://github.com/OpenPrinting/cups/releases"

View File

@@ -0,0 +1,61 @@
From 471b4dc802455c7c59f9fd594fec8b6f3acb0db5 Mon Sep 17 00:00:00 2001
From: Michael R Sweet <msweet@msweet.org>
Date: Tue, 31 Mar 2026 14:50:06 -0400
Subject: [PATCH] Expand allocation of options string.
CVE: CVE-2026-34979
Upstream-Status: Backport [https://github.com/OpenPrinting/cups/commit/0ff8897367c7341f2500770c3977038cdd7c0214]
Backport Changes:
- Rebase scheduler/job.c IPP length context to the CUPS 2.4.11 source
carried by this recipe.
- Omit the upstream CHANGES.md release-note hunk because Yocto patch metadata
carries the CVE details and the target source release-note sections differ.
(cherry picked from commit 0ff8897367c7341f2500770c3977038cdd7c0214)
Signed-off-by: Deepak Rathore <deeratho@cisco.com>
---
scheduler/job.c | 16 ++++------------
1 file changed, 4 insertions(+), 12 deletions(-)
diff --git a/scheduler/job.c b/scheduler/job.c
index 915ba94..880c25f 100644
--- a/scheduler/job.c
+++ b/scheduler/job.c
@@ -4195,18 +4195,6 @@ ipp_length(ipp_t *ipp) /* I - IPP request */
for (attr = ipp->attrs; attr != NULL; attr = attr->next)
{
- /*
- * Skip attributes that won't be sent to filters...
- */
-
- if (attr->value_tag == IPP_TAG_NOVALUE ||
- attr->value_tag == IPP_TAG_MIMETYPE ||
- attr->value_tag == IPP_TAG_NAMELANG ||
- attr->value_tag == IPP_TAG_TEXTLANG ||
- attr->value_tag == IPP_TAG_URI ||
- attr->value_tag == IPP_TAG_URISCHEME)
- continue;
-
/*
* Add space for a leading space and commas between each value.
* For the first attribute, the leading space isn't used, so the
@@ -4282,10 +4270,14 @@ ipp_length(ipp_t *ipp) /* I - IPP request */
case IPP_TAG_TEXT :
case IPP_TAG_NAME :
+ case IPP_TAG_TEXTLANG :
+ case IPP_TAG_NAMELANG :
+ case IPP_TAG_MIMETYPE :
case IPP_TAG_KEYWORD :
case IPP_TAG_CHARSET :
case IPP_TAG_LANGUAGE :
case IPP_TAG_URI :
+ case IPP_TAG_URISCHEME :
/*
* Strings can contain characters that need quoting. We need
* at least 2 * len + 2 characters to cover the quotes and
--
2.43.7