Open
fix(cve): 修复 CVE-2026-107888 在 cups 中的漏洞 #300
fix(cve): 修复 CVE-2026-107888 在 cups 中的漏洞 #300
Open
infra_teamAdd on 26 days ago
Total: 2 files changed+55-1
@@ -0,0 +1,50 @@
1+From 56934d043eb8e15a7e9c254c3a3ca287538007f4 Mon Sep 17 00:00:00 2001
2+From: Michael R Sweet <msweet@msweet.org>
3+Date: Thu, 1 Oct 2026 17:04:21 -0400
4+Subject: [PATCH] Abort held jobs if the destination has gone away
5+ (GHSA-qqm8-4q5h-jg55)
6+ 
7+Conflict: drop CHANGES.md change, adapt to cups-2.2.13
8+Reference:https://github.com/OpenPrinting/cups/commit/7c7b35b18272c9a97b7a3eb0fcf9c7663e78bf63
9+Upstream-commit: https://github.com/OpenPrinting/cups/commit/7c7b35b18272c9a97b7a3eb0fcf9c7663e78bf63
10+Signed-off-by: infra_team <zhaiwenjie1@huawei.com>
11+---
12+ scheduler/job.c | 20 ++++++++++++++++----
13+ 1 file changed, 16 insertions(+), 4 deletions(-)
14+ 
15+diff --git a/scheduler/job.c b/scheduler/job.c
16+index c8fea85..244479d 100644
17+--- a/scheduler/job.c
18++++ b/scheduler/job.c
19+@@ -345,12 +345,24 @@ cupsdCheckJobs(void)
20+ * Check whether the printer is still holding new jobs...
21+ */
22+
23+- printer = cupsdFindDest(job->dest);
24++ if ((printer = cupsdFindDest(job->dest)) == NULL)
25++ {
26++ /*
27++ * Whoa, the printer and/or class for this destination went away;
28++ * cancel the job...
29++ */
30+
31+- if (printer->holding_new_jobs)
32++ cupsdSetJobState(job, IPP_JSTATE_ABORTED, CUPSD_JOB_PURGE, "Job aborted because the destination printer/class has gone away.");
33+ continue;
34+-
35+- ippSetString(job->attrs, &job->reasons, 0, "none");
36++ }
37++ else if (printer->holding_new_jobs)
38++ {
39++ continue;
40++ }
41++ else
42++ {
43++ ippSetString(job->attrs, &job->reasons, 0, "none");
44++ }
45+ }
46+
47+ /*
48+--
49+2.39.5
50+ 
@@ -1,7 +1,7 @@
1Name: cups1Name: cups
2Epoch: 12Epoch: 1
3Version: 2.2.133Version: 2.2.13
4-Release: 284+Release: 29
5Summary: CUPS is the standards-based, open source printing system for linux operating systems.5Summary: CUPS is the standards-based, open source printing system for linux operating systems.
6License: GPLv2+ and LGPLv2+ with exceptions and AML6License: GPLv2+ and LGPLv2+ with exceptions and AML
7Url: http://www.cups.org/7Url: http://www.cups.org/
@@ -67,6 +67,7 @@ Patch6027: backport-CVE-2026-34980-Fix-filter-PPD-keyword-processing.patch
67Patch6028: backport-CVE-2026-87875-Fix-UTF-32-data-type-on-64-bit-systems.patch67Patch6028: backport-CVE-2026-87875-Fix-UTF-32-data-type-on-64-bit-systems.patch
68Patch6029: backport-CVE-2026-87876-pre-Fix-HTTP-PeerCred-authentication-for-domain-users.patch68Patch6029: backport-CVE-2026-87876-pre-Fix-HTTP-PeerCred-authentication-for-domain-users.patch
69Patch6030: backport-CVE-2026-87876.patch69Patch6030: backport-CVE-2026-87876.patch
70+Patch6031: backport-CVE-2026-107888.patch
70 71 
71Provides: cupsddk cupsddk-drivers cups-filesystem cups-client cups-ipptool cups-lpd72Provides: cupsddk cupsddk-drivers cups-filesystem cups-client cups-ipptool cups-lpd
72Provides: lpd lpr /usr/bin/lpq /usr/bin/lpr /usr/bin/lp /usr/bin/cancel /usr/bin/lprm /usr/bin/lpstat73Provides: lpd lpr /usr/bin/lpq /usr/bin/lpr /usr/bin/lp /usr/bin/cancel /usr/bin/lprm /usr/bin/lpstat
@@ -364,6 +365,9 @@ rm -f %{_exec_prefix}/lib/cups/backend/smb
364%doc README.md CREDITS.md CHANGES.md365%doc README.md CREDITS.md CHANGES.md
365 366 
366%changelog367%changelog
368+* Tue Oct 13 2026 infra_team <zhaiwenjie1@huawei.com> - 1:2.2.13-29
369+- fix CVE-2026-107888
370+ 
367* Mon Sep 28 2026 gaihuiying <eaglegai@163.com> - 1:2.2.13-28371* Mon Sep 28 2026 gaihuiying <eaglegai@163.com> - 1:2.2.13-28
368- fix CVE-2026-87876372- fix CVE-2026-87876
369 373