跳到正文
10月22日周四
  1. GitHub 安全公告库 (GHSA)60

    Pillow 修复 GIF 注释二次方拼接导致的 Image.open() DoS 问题

    GitHub 安全公告指出 Pillow 的 GifImageFile._seek() 在 src/PIL/GifImagePlugin.py 中用 bytes 拼接累积 GIF 注释,使 Image.open() 耗时随注释数据量呈二次方增长,默认设置下 2 MB 文件约 5 秒、4 MB 约 35 秒、8 MB 约 3 分钟,而同样大小的普通 GIF 不到 1 秒。

    为什么值得看:公告给出触发条件与实测耗时数据,并附上把 bytes 拼接改为列表 join 的补丁,便于使用 Pillow 的服务评估上传接口风险。

  2. GitHub 安全公告库 (GHSA)62

    Pillow 的 XbmImagePlugin 存在 ReDoS,512 字节文件可让 Image.open() 卡住数分钟

    GitHub 安全公告库披露 Pillow 的 XbmImagePlugin 存在 ReDoS:构造的 512 字节文件会让 Image.open() 在单核上消耗约 375 秒 CPU 后才抛出 UnidentifiedImageError。

    为什么值得看:公告给出了触发条件、耗时实测与正则修复补丁,使用 Pillow 处理用户上传图片的服务可据此判断暴露面。

  3. GitHub 安全公告库 (GHSA)60

    Pillow APNG 在解压炸弹检查前按 IHDR 尺寸分配内存,附复现脚本与补丁

    Pillow 的 PngImageFile._seek() 在处理首个 fcTL 请求 OP_BACKGROUND 时,会先按 IHDR 声明尺寸调用 Image.core.fill 分配并清零整块画布,之后 Image.open() 的 _decompression_bomb_check 才执行。

    为什么值得看:材料给出可运行的复现脚本与两份补丁,说明 APNG 在炸弹检查前按声明尺寸分配内存的路径。

  4. GitHub 安全公告库 (GHSA)58

    Pillow 修复内存中编码 TIFF 时的堆 use-after-free 漏洞

    GitHub 安全公告披露 Pillow 在将图像编码为内存中的 TIFF 时存在堆 use-after-free:libtiff 在编码阶段拒绝某个 tag 导致 TIFFWriteScanline 失败后,编码器释放了输出缓冲区却未关闭 TIFF 句柄,随后清理阶段 TIFFClose 刷新数据写回已释放内存。

    为什么值得看:公告给出可运行的 Python 复现脚本与 ASan 调用栈,便于维护者确认内存释放路径并判断自身服务是否受影响。

  5. GitHub 安全公告库 (GHSA)70

    Pillow 保存 TIFF 到 BytesIO 时 _tiffWriteProc 存在堆溢出,附复现脚本与补丁

    Pillow 在把 TIFF 保存到 io.BytesIO 等无 fileno() 的目标时,src/libImaging/TiffDecode.c 的 _tiffWriteProc 按 state->size + size 而非写入位置扩容,导致堆缓冲区溢出,同时把未初始化的堆字节写入输出文件。

    为什么值得看:报告给出可运行的复现脚本与补丁,说明默认设置下把上传图片另存为 TIFF 到内存对象即可触发越界写。

  6. GitHub 安全公告库 (GHSA)60

    Pillow 的 libtiff 编码器经构造 TIFF 标签泄露进程内存或触发 SIGSEGV

    Pillow 的 libtiff 编码器 PyImaging_LibTiffEncoderNew(src/encode.c)在把源 TIFF 中未识别的标签转发给 TIFFSetField 时,按 Python 值而非 libtiff 字段定义决定传参形式,导致构造的 TIFF 标签被当作字节数或指针读取。

    为什么值得看:材料给出可运行的复现脚本与逐分支分析,展示了普通 open 后 save 即可触发内存泄露或崩溃的路径。

  7. GitHub 安全公告库 (GHSA)47

    virtualenv 修复 POSIX 控制台启动器将目标路径当作 shell 语法解析的问题,21.14.9 已修复

    virtualenv 发布通告,指出 app-data seeder 与 pip 生成的 POSIX 控制台启动器会把环境目标路径当作 shell 语法解析,攻击者需影响传给 virtualenv 的环境路径且用户随后运行生成的启动器,命令才会以用户权限执行,Windows 可执行启动器不受影响。

  8. GitHub 安全公告库 (GHSA)22

    virtualenv 删除失败恢复逻辑可改变符号链接目标权限(21.7.5 起,PR #3427 修复)

    virtualenv 的 safe_delete() 在删除失败恢复权限时用 lstat() 读取符号链接自身权限位,却用会跟随链接的 chmod() 应用,导致只读目录内符号链接指向的目标文件权限被改为 0777。该错误处理逻辑自 21.7.5 引入,需删除失败且调用用户拥有目标文件并可修改其权限,root 不会进入该路径。PR #3427 已避免在删除失败时修改 POSIX 权限。

  9. OpenSSF 恶意包库40

    OpenSSF 恶意包库更新:从 GHSA 收录 snavbox npm 恶意包(GHSA-ppfj-vpcr-qwqg)

    OpenSSF 恶意包库新增一条来自 GHSA 的恶意包记录,涉及 npm 生态的 snavbox 包 1.0.0–1.0.3 版本,对应 GHSA-ppfj-vpcr-qwqg,归类为 CWE-506 嵌入式恶意代码。通告称安装或运行该包的机器应视为完全失陷,需在另一台机器上立即轮换全部密钥,仅卸载包无法保证清除恶意软件。

  10. OpenSSF 恶意包库88

    OpenSSF 恶意包库更新 MAL-2026-2144:litellm 1.107.0 被注入窃密与后门代码

    OpenSSF 恶意包库更新 MAL-2026-2144,将 PyPI 上的 litellm 1.107.0 标记为恶意,该版本于 2026-10-21 11:39 至 11:40 UTC 上传,含上游源码中没有的凭据窃取程序与远程代码执行后门,注入发生在构建或上传阶段。

    同一件事,精选收录的是《OpenSSF 恶意包库记录 PyPI litellm 1.107.0 含凭据窃取与后门》

  11. OpenSSF 恶意包库88

    OpenSSF 恶意包库记录 PyPI litellm 1.107.0 含凭据窃取与后门

    OpenSSF 恶意包库新增记录,指出 2026-10-21 上传至 PyPI 的 litellm 1.107.0 含上游源码中不存在的凭据窃取程序与远程代码执行后门,系在构建或上传环节注入。

    为什么值得看:记录披露了投毒 wheel 中三个额外文件的具体路径与哈希,可用于排查本地是否装过该版本并定位残留。

  12. GitHub 安全公告库 (GHSA)40

    ApostropheCMS 颜色字段校验绕过致存储型 XSS:rgb()/hsl() 前缀后可附加 HTML

    ApostropheCMS 的颜色字段因 TinyColor.isValid 未在字符串末尾锚定匹配,仅校验字符串是否以合法 rgb()/hsl() 颜色开头,拥有编辑权限的认证用户可在合法颜色前缀后存入任意 HTML,渲染时触发存储型 XSS。该问题与 GHSA-97v6-998m-fp4g 同源,修复校验(要求整串为合法颜色或仅存储 TinyColor 归一化输出)可同时关闭两者。

  13. GitHub 安全公告库 (GHSA)58

    ApostropheCMS 公共 REST API 的 search 与 sort 查询构造器可绕过 publicApiProjection,未认证即可探测隐藏字段

    ApostropheCMS 的公共 REST API 在处理匿名请求时,会先执行 query string 中所有可 launder 的查询构造器,再强制套用 publicApiProjection,而 search 与 sort 这两个构造器作用于底层文档、不受投影限制。

    为什么值得看:公告给出可复现的 curl 请求与实测结果,说明 search 与 sort 两个查询构造器如何绕过字段白名单。

  14. GitHub 安全公告库 (GHSA)36

    ApostropheCMS slugTaken 接口向任意已认证用户泄露私有内容存在性

    ApostropheCMS 的 POST /api/v1/@apostrophecms/doc/slugTaken 接口存在信息泄露问题,任意已登录用户(editor 角色即可)可通过返回的布尔值枚举私有页面、草稿与归档内容的 slug。该接口未校验读取权限,也未按 visibility、viewRole 或发布状态过滤,攻击者可借此摸清 CMS 全部内容结构。

  15. GitHub 安全公告库 (GHSA)58

    Storybook 预览缺少来源校验可被恶意网站注入代码,官方发布 8.6.19 等修复版本

    Storybook 发布安全通告,指出运行受影响版本的 Storybook 开发服务器时,恶意网站可能对开发者项目造成未授权文件修改,在附加条件下被修改的文件可能以开发者权限被本地运行时执行;官方称未发现已在野利用。

    为什么值得看:通告给出四个受影响大版本的修复版本,并说明默认行为变更,开发者可据此判断升级与工作流调整。

  16. GitHub 安全公告库 (GHSA)58

    Moov signedxml 修复 ExclusiveCanonicalization 免认证拒绝服务问题

    GitHub 安全公告指出,github.com/moov-io/signedxml 的 ExclusiveCanonicalization 在 ValidateReferences() 中于任何摘要或签名校验前复制整个累积命名空间映射。

    为什么值得看:通告说明了免认证 DoS 的成因与受影响版本,并给出修复思路和修复前后的内存占用对比数据。

  17. GitHub 安全公告库 (GHSA)40

    OpenChoreo 授权绕过漏洞:WorkflowRun 更新可跨项目接管工作流运行

    OpenChoreo API server 的 `PUT .../workflowruns/{runName}` 接口从请求体读取归属标签做授权校验,却按 URL 路径定位实际修改对象,持有某组件 `workflowrun:update` 权限的已认证调用者可借此改写其他项目或组件的 WorkflowRun 归属标签,进而读取构建日志、Kubernetes 事件或删除该运行。