公告ID(KYSA-202501-0037)
公告ID:KYSA-202501-0037
公告摘要:libpodofo安全漏洞
等级:重要
发布日期:2025-06-18
详细介绍
注:
1. 本公告所涉及的漏洞修复信息知识产权全部归麒麟软件有限公司所有,此安全漏洞补丁公告仅适用于麒麟软件操作系统通用主线产品,定制、OEM等版本可根据需要联系售后获取支持。任何媒体、网站或个人转载使用时不得进行商业性的原版原式的转载,也不得歪曲和篡改所发布的内容。此声明以及其修改权、更新权及最终解释权均归本网所有。
2. 此安全漏洞补丁公告仅适用于银河麒麟桌面操作系统V10 SP1 2503版本,系统版本查询工具下载链接:
https://security-oss.kylinos.cn/Desktop/libkysdk-sysinfo.zip
1. 漏洞概述
CVE-2020-18971
Sourceforge PoDoFo是Sourceforge组织的一个开源的、使用C++编写的PDF文件格式的库。PoDoFo 0.9.6版本存在缓冲区错误漏洞,该漏洞源于软件组件中的src/base/PdfDictionary.cpp 中存在基于堆栈的缓冲区溢出,这允许攻击者利用该漏洞实现拒绝服务攻击。
CVE-2018-12983
PoDoFo是一个开源的、使用C++编写的PDF文件格式的库。
PoDoFo 0.9.6-rc1版本中的PdfEncrypt.cpp文件的‘PdfEncryptMD5Base::ComputeEncryptionKey()’函数存在基于栈的缓冲区越界读取漏洞。远程攻击者可借助特制的pdf文件利用该漏洞造成拒绝服务。
CVE-2018-20797
PoDoFo是一个开源的、使用C++编写的PDF文件格式的库。PoDoFo 0.9.6版本中的base/PdfMemoryManagement.cpp文件的PoDoFo::podofo_calloc存在缓冲区错误漏洞。攻击者可利用该漏洞造成拒绝服务。
CVE-2019-10723
PoDoFo是一个开源的、使用C++编写的PDF文件格式的库。
PoDoFo 0.9.6版本中的doc/PdfPagesTreeCache.cpp文件的PdfPagesTreeCache类存在资源管理错误漏洞。该漏洞源于网络系统或产品对系统资源(如内存、磁盘空间、文件等)的管理不当。
CVE-2018-11255
PoDoFo是一个开源的、使用C++编写的PDF文件格式的库。PoDoFo 0.9.5版本中的PdfPage.cpp文件的‘PdfPage::GetPageNumber()’函数存在安全漏洞。远程攻击者可借助特制的PDF文档利用该漏洞造成拒绝服务(空指针逆向引用和应用程序崩溃)。
CVE-2021-30470
Sourceforge PoDoFo是Sourceforge组织的一个开源的、使用C++编写的PDF文件格式的库。PoDoFo 0.9.7版本存在安全漏洞,该漏洞源于PdfTokenizer::ReadArray()、PdfTokenizer::GetNextVariant()和PdfTokenizer::ReadDataType()函数之间的非受控递归调用可能导致堆栈溢出。
CVE-2018-8002
PoDoFo是一个开源的、使用C++编写的PDF文件格式的库。
PoDoFo 0.9.5版本中的PdfParserObject.cpp文件的‘PdfParserObject::ParseFileComplete()’函数存在安全漏洞。远程攻击者可借助特制的pdf文件利用该漏洞造成拒绝服务(栈溢出)。
CVE-2021-30471
Sourceforge PoDoFo是Sourceforge组织的一个开源的、使用C++编写的PDF文件格式的库。PoDoFo 0.9.7版本存在安全漏洞,该漏洞源于PdfNamesTree::AddToDictionary函数中的非受控递归调用可能导致堆栈溢出。
2. 受影响的操作系统及软件包
·银河麒麟桌面操作系统V10 SP1 2503
x86_64 架构:
libpodofo-utils、libpodofo0.9.6
arm64 架构:
libpodofo-utils、libpodofo0.9.6
sw64 架构:
libpodofo-utils、libpodofo0.9.6
loongarch64 架构:
libpodofo-utils、libpodofo0.9.6
3. 软件包修复版本
·银河麒麟桌面操作系统V10 SP1 2503
0.9.6+dfsg-5kylin0.1~esm1
4. 修复方法
方法一:升级安装
执行更新命令进行升级
$sudo apt update
$sudo apt install libpodofo-utils
$sudo apt install libpodofo0.9.6
方法二:下载软件包进行升级安装
通过软件包地址下载软件包,使用软件包升级命令根据受影响的软件包列表升级相关的组件包。
$sudo apt-get install /Path1/Package1 /Path2/Package2 /Path3/Package3……
注:Path 指软件包下载到本地的路径,Package指下载的软件包名称,多个软件包则以空格分开。
5. 软件包下载地址
银河麒麟桌面操作系统V10 SP1 2503
x86_64软件包下载地址
https://archive.kylinos.cn/kylin/KYLIN-ALL/pool/universe/libp/libpodofo/libpodofo-utils_0.9.6+dfsg-5kylin0.1~esm1_amd64.deb
https://archive.kylinos.cn/kylin/KYLIN-ALL/pool/universe/libp/libpodofo/libpodofo0.9.6_0.9.6+dfsg-5kylin0.1~esm1_amd64.deb
arm64软件包下载地址
https://archive.kylinos.cn/kylin/KYLIN-ALL/pool/universe/libp/libpodofo/libpodofo-utils_0.9.6+dfsg-5kylin0.1~esm1_arm64.deb
https://archive.kylinos.cn/kylin/KYLIN-ALL/pool/universe/libp/libpodofo/libpodofo0.9.6_0.9.6+dfsg-5kylin0.1~esm1_arm64.deb
sw64软件包下载地址
https://archive.kylinos.cn/kylin/KYLIN-ALL/pool/universe/libp/libpodofo/libpodofo-utils_0.9.6+dfsg-5kylin0.1~esm1_sw64.deb
https://archive.kylinos.cn/kylin/KYLIN-ALL/pool/universe/libp/libpodofo/libpodofo0.9.6_0.9.6+dfsg-5kylin0.1~esm1_sw64.deb
loongarch64软件包下载地址
https://archive.kylinos.cn/kylin/KYLIN-ALL/pool/universe/libp/libpodofo/libpodofo-utils_0.9.6+dfsg-5kylin0.1~esm1_loongarch64.deb
https://archive.kylinos.cn/kylin/KYLIN-ALL/pool/universe/libp/libpodofo/libpodofo0.9.6_0.9.6+dfsg-5kylin0.1~esm1_loongarch64.deb
注:软件包仅适用于银河麒麟桌面操作系统V10 SP1 2503版本。
6. 修复验证
使用软件包查询命令,查看相关的软件包版本大于或等于修复版本则成功修复。
$sudo dpkg -l |grep Package
注:Package为软件包包名。