cups: fix CVE-2026-39314

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

[1] https://github.com/OpenPrinting/cups/commit/928a86b1b794f738f0a3dc87561b2e054bff7ce4
[2] https://security-tracker.debian.org/tracker/CVE-2026-39314

(From OE-Core rev: d3ab2665bb1b99ced4449e85f1a0e0124033b5d3)

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 authored and Paul Barker committed 2026-07-30 13:21:16 +01:00
1 parent 4ae1f9aec6
commit 38a2761a99
2 files changed
+46

No files matched your search

+1
View File
@@ -30,6 +30,7 @@ SRC_URI = "${GITHUB_BASE_URI}/download/v${PV}/cups-${PV}-source.tar.gz \
file://CVE-2026-34980-regression_p2.patch \
file://CVE-2026-34979.patch \
file://CVE-2026-34990.patch \
file://CVE-2026-39314.patch \
"
GITHUB_BASE_URI = "https://github.com/OpenPrinting/cups/releases"
@@ -0,0 +1,45 @@
From 65c463ada188915d6700d92ce48a9a14949ca413 Mon Sep 17 00:00:00 2001
From: Michael R Sweet <msweet@msweet.org>
Date: Sun, 5 Apr 2026 10:45:25 -0400
Subject: [PATCH] Range check job-password-supported.
CVE: CVE-2026-39314
Upstream-Status: Backport [https://github.com/OpenPrinting/cups/commit/928a86b1b794f738f0a3dc87561b2e054bff7ce4]
Backport Changes:
- Rebase cups/ppd-cache.c 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 928a86b1b794f738f0a3dc87561b2e054bff7ce4)
Signed-off-by: Deepak Rathore <deeratho@cisco.com>
---
cups/ppd-cache.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/cups/ppd-cache.c b/cups/ppd-cache.c
index e750fcc..08e0db8 100644
--- a/cups/ppd-cache.c
+++ b/cups/ppd-cache.c
@@ -1,7 +1,7 @@
/*
* PPD cache implementation for CUPS.
*
- * Copyright © 2022-2024 by OpenPrinting.
+ * Copyright © 2022-2026 by OpenPrinting.
* Copyright © 2010-2021 by Apple Inc.
*
* Licensed under Apache License v2.0. See the file "LICENSE" for more
@@ -3432,7 +3432,7 @@ _ppdCreateFromIPP2(
* Password/PIN printing...
*/
- if ((attr = ippFindAttribute(supported, "job-password-supported", IPP_TAG_INTEGER)) != NULL)
+ if ((attr = ippFindAttribute(supported, "job-password-supported", IPP_TAG_INTEGER)) != NULL && ippGetInteger(attr, 0) > 0)
{
char pattern[33]; /* Password pattern */
int maxlen = ippGetInteger(attr, 0);
--
2.43.7