Skip to content

fix(cve): CVE-2026-93314 - [PATCH] FoFiTrueType::mapCodeToGID: Improve b*12 overflow check - #12

Merged
Zeno-sole merged 6 commits into
masterfrom
fix-cve/CVE-2026-93314
Oct 15, 2026
Merged

Zeno-sole merged 6 commits into
masterfrom
fix-cve/CVE-2026-93314

Conversation

@deepin-ci-robot

@deepin-ci-robot deepin-ci-robot commented Oct 8, 2026 •

Copy link
Copy Markdown
Contributor

CVE: CVE-2026-93314 (medium) - FoFiTrueType::mapCodeToGID: Improve b*12 overflow check
Upstream: https://gitlab.freedesktop.org/poppler/poppler/-/commit/ed2a5538cf0a8d3ff908191eda9b73f91a5f952a

Co-authored-by: hudeng hudeng@deepin.org
Generated-By: qwen3.6-35b


CVE: CVE-2026-93313 - 兼容性适配修改:将 return false 改为 return,适配目标代码库 void 返回类型

Co-authored-by: hudeng hudeng@deepin.org
Generated-By: qwen3.6-35b


CVE: CVE-2026-93312 (medium) - 修复 poppler/JBIG2Stream.cc 中 pageBitmap 为 nullptr 时的崩溃问题
Upstream: https://gitlab.freedesktop.org/poppler/poppler/-/commit/5e49250f13b0390edeb3f90eb4c02c9941f97067.patch

Co-authored-by: hudeng hudeng@deepin.org
Generated-By: qwen3.6-35b


CVE: CVE-2026-107705 (high) - Poppler 0.42.0 through 26.10.0 contains a stack-based buffer overflow in Decrypt::revision6Hash() that allows attackers controlling the password to overwrite stack memory when opening AESV3/R6 encrypted PDFs
Upstream: https://gitlab.freedesktop.org/poppler/poppler/-/merge_requests/2398.patch

Co-authored-by: hudeng hudeng@deepin.org
Generated-By: qwen3.6-35b


CVE: CVE-2026-102621 (unknown) - A vulnerability was identified in Freedesktop Poppler up to 26.08.0. Affected is the function SplashClip::clipToPath of the file splash/SplashClip.cc. Such manipulation leads to integer overflow. The attack can only be performed from a local environment.
Upstream: https://gitlab.freedesktop.org/poppler/poppler/-/commit/323c91036d99926a8b90dc14329f7b40aece22f8

Co-authored-by: hudeng hudeng@deepin.org
Generated-By: qwen3.6-35b


CVE: CVE-2026-102620 - 兼容性适配:添加 goo/GooCheckedOps.h 头文件包含,解决 checkedAdd 函数调用声明未包含问题

Co-authored-by: hudeng hudeng@deepin.org
Generated-By: qwen3.6-35b

…e b*12 overflow check

CVE: CVE-2026-93314 (medium) - FoFiTrueType::mapCodeToGID: Improve b*12 overflow check
Upstream: https://gitlab.freedesktop.org/poppler/poppler/-/commit/ed2a5538cf0a8d3ff908191eda9b73f91a5f952a

Co-authored-by: hudeng <hudeng@deepin.org>
Generated-By: qwen3.6-35b
@github-actions

github-actions Bot commented Oct 8, 2026 •

Copy link
Copy Markdown

TAG Bot

TAG: 22.12.0-2+deb12u3deepin1
EXISTED: no
DISTRIBUTION: unstable

@deepin-ci-robot

Copy link
Copy Markdown
Contributor Author

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please assign zccrs for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

deepin-ci-robot and others added 5 commits October 8, 2026 17:09
…odeTableSeg

CVE: CVE-2026-93313 (medium) - 整数溢出漏洞在 JBIG2Stream::readCodeTableSeg 函数中
Upstream: https://gitlab.freedesktop.org/poppler/poppler/-/commit/eb87cf711563894649bd0c365baa479401dc6d51

适配目标代码库:该版本 readCodeTableSeg 返回类型为 void,故将上游的 return false 改为 return。

Co-authored-by: hudeng <hudeng@deepin.org>
Generated-By: qwen3.6-35b
CVE: CVE-2026-93312 (medium) - 修复 poppler/JBIG2Stream.cc 中 pageBitmap 为 nullptr 时的崩溃问题
Upstream: https://gitlab.freedesktop.org/poppler/poppler/-/commit/5e49250f13b0390edeb3f90eb4c02c9941f97067

Co-authored-by: hudeng <hudeng@deepin.org>
Generated-By: qwen3.6-35b
…length limit

CVE: CVE-2026-107705 (high) - Poppler 0.42.0 through 26.10.0 contains a stack-based buffer overflow in Decrypt::revision6Hash() that allows attackers controlling the password to overwrite stack memory when opening AESV3/R6 encrypted PDFs
Upstream: https://gitlab.freedesktop.org/poppler/poppler/-/merge_requests/2398

Co-authored-by: hudeng <hudeng@deepin.org>
Generated-By: qwen3.6-35b
…oPath

CVE: CVE-2026-102621 - A vulnerability was identified in Freedesktop Poppler up to 26.08.0. Affected is the function SplashClip::clipToPath of the file splash/SplashClip.cc. Such manipulation leads to integer overflow. The attack can only be performed from a local environment.
Upstream: https://gitlab.freedesktop.org/poppler/poppler/-/commit/323c91036d99926a8b90dc14329f7b40aece22f8

适配目标代码库:该版本 SplashError 为 typedef int,故将上游的 SplashError::Generic 改为 splashErrGeneric。

Co-authored-by: hudeng <hudeng@deepin.org>
Generated-By: qwen3.6-35b
…ype::cvtSfnts

CVE: CVE-2026-102620 - A vulnerability was determined in Freedesktop Poppler 26.06.0/26.07.0/26.08.0. This impacts the function FoFiTrueType::cvtSfnts of the file fofi/FoFiTrueType.cc. This manipulation causes integer overflow. The attack can only be executed locally.
Upstream: https://gitlab.freedesktop.org/poppler/poppler/-/commit/245d3c6823377755f2c1d5fdddd010279c6ed94d

适配目标代码库:添加 goo/GooCheckedOps.h 头文件包含,解决 checkedAdd 函数调用声明未包含问题。

Co-authored-by: hudeng <hudeng@deepin.org>
Generated-By: qwen3.6-35b
@Zeno-sole

Copy link
Copy Markdown

/test all

@Zeno-sole

Copy link
Copy Markdown

/integrate

@github-actions

Copy link
Copy Markdown

AutoIntegrationPr Bot
auto integrate with pr url: deepin-community/Repository-Integration#4654
PrNumber: 4654
PrBranch: auto-integration-38737210995

@Zeno-sole
Zeno-sole force-pushed the fix-cve/CVE-2026-93314 branch from dde0258 to 3f9d12f Compare October 15, 2026 13:55
@Zeno-sole

Copy link
Copy Markdown

已按 master(22.12.0-2+deb12u3)rebase 解决冲突,并修复两处编译错误。

1. 六个 CVE 在 22.12.0-2+deb12u3 中的状态:均未修复,全部保留

  • Debian 安全追踪平台:CVE-2026-93312 / 93313 / 93314 / 102620 / 102621 / 107705 在 bookworm (security) 22.12.0-2+deb12u3 全部标记为 vulnerable(仅 forky/sid 26.07.0-3 为 fixed)。
  • 实际核对 u3 的 debian.tar.xz:series 只有 11 个补丁,与 deepin master 完全一致,无一个覆盖上述 CVE;对应脆弱代码在 u3 树中仍原样存在。
  • 故无补丁需要移除。

2. 冲突原因与解决

  • master 于 10-15 被 bot 更新到 22.12.0-2+deb12u3,debian/ 目录被替换为 Debian 原版,changelog 与 patches/series 被整体重写,与本 PR 的两处改动冲突。
  • 已在 u3 基础上重做:版本号改为 22.12.0-2+deb12u3deepin1,6 个补丁追加到 series 末尾。
  • 原分支的两个“兼容性适配修改”提交已并入对应的 CVE 提交。

3. 修复两处编译错误(原 PR 无法构建)

  • CVE-2026-93314.patch:case 12/13 代码块多写了一个 },导致 error: case label not within a switch statement。上游 ed2a5538 只加一个 },已对齐。
  • CVE-2026-102621.patch:return SplashError::Generic; 在本版本不合法——22.12.0 中 SplashError 是 typedef int、错误码为 #define splashErrGeneric 255(上游 26.x 才改成 enum class)。已改为 return splashErrGeneric;。

4. 验证

  • quilt push -a:全系列零 fuzz、零 offset。
  • cmake + ninja 全量构建 poppler 库通过。
  • 补丁 index 行已按修正后的 blob 重新对账(FoFiTrueType.cc 113529a、JBIG2Stream.cc 97d64cc、Decrypt.cc 55b423a、SplashClip.cc 9fc15a0)。

@Zeno-sole

Copy link
Copy Markdown

/integrate

@Zeno-sole
Zeno-sole merged commit 084d44e into master Oct 15, 2026
7 of 10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants