跳到正文
今天10月23日周五9 条
  1. GitHub 安全公告库 (GHSA)64

    Pillow 11.1.0 起打包的 libopenjp2 2.5.3/2.5.4 存在 OSV-2025-219 堆溢出写,可从 Image.open().load() 触发

    Pillow 从 11.1.0 起打包的 libopenjp2 2.5.3 与 12.0.0 至 12.3.0 打包的 2.5.4 含 OSV-2025-219 堆缓冲区溢出写,默认设置下经 Image.open(fp) 与 im.load() 即可到达,宿主系统打补丁无效。

    为什么值得看:报告给出了 ASan 复现栈与可控 rip 的堆布局细节,并说明修复补丁尚未进入任何 OpenJPEG 发行版。

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

    Electron 修复 webContents.beginFrameSubscription 帧几何校验缺失漏洞

    Electron 修复了 webContents.beginFrameSubscription 未充分校验 GPU 进程帧数据的问题,被攻陷的 GPU 进程可致主进程越界读取内存,造成内存泄露或应用崩溃。仅使用该帧订阅接口且攻击者已单独获得 GPU 进程代码执行的应用受影响,无应用侧规避方案,需升级至 45.0.0-alpha.9、44.4.3、43.7.3 或 42.11.6。

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

    Pillow 多帧加载器模式切换后复用旧原生存储,MPO 路径可致越界写与命令执行

    Pillow 12.3.0 的多帧加载器在帧间切换 mode 时会复用上一帧的原生 ImagingCore 存储,导致越界写与进程崩溃;作者在 PSD、MPO/JPEG、DCX、MIC 四个入口验证了该问题。

    为什么值得看:披露者给出可复现的 MPO 上传路径与 10/10 成功标记,说明多帧模式切换导致的越界写可落到命令执行。

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

    Pillow 修复 Windows 构建 WMF/EMF 渲染堆越界读漏洞 GHSA-9v9v-9qvf-h2hj

    GitHub 安全公告披露 Pillow 在 Windows 构建上存在堆越界读问题 GHSA-9v9v-9qvf-h2hj,EMF/WMF 图像尺寸未经范围检查即传入原生 drawwmf 处理程序,分配按截断为 16 位的头字段计算,拷贝却使用完整 32 位尺寸。

    为什么值得看:公告给出可运行的 EMF 构造脚本,并指出 Windows 构建下 16 位截断导致堆越界读的具体代码位置。

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

    Pillow JPEG 编码器堆缓冲区溢出:ICC 填满缓冲区后写 COM 注释越界

    Pillow 的 JPEG 编码器 ImagingJpegEncode() 在 src/libImaging/JpegEncode.c:330 写 COM 注释前不检查剩余空间,当 65498 字节 ICC profile 恰好填满 65536 字节缓冲区时,注释和整个压缩图像被写到堆缓冲区之外,进程以 SIGSEGV 或 glibc 堆错误终止。

    为什么值得看:披露给出可运行的复现脚本与补丁,说明默认保存路径下 ICC 恰好填满缓冲区即触发越界写。

10月22日周四
  1. The Hacker News63

    Node.js 22.x/24.x/26.x 修复 Brotli 解码器越界写 CVE-2026-111497 等 10 个漏洞

    Node.js 于 10 月 21 日为 22.x、24.x、26.x 三条支持线发布安全更新,修复 10 个漏洞,其中 Brotli 解码器越界写 CVE-2026-111497 被项目描述为可导致远程代码执行,评级为 high。

    为什么值得看:通告列出 10 个修复项与各版本对应关系,并交代 Brotli 漏洞的公开 PoC 仅在削弱构建上达成代码执行。

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

    Pillow 描边渲染字体时存在无效释放问题,附 PoC 复现脚本

    GitHub 安全公告 GHSA-j4m9-6w36-pw47 指出,Pillow 在 stroke_width 非零时创建 FreeType stroker,若 FT_Load_Glyph 对某个字形失败,清理路径会对未初始化或已释放的 glyph 指针调用 FT_Done_Glyph,形成无效释放或双重释放。

    为什么值得看:公告给出可运行的 fontTools 脚本,复现 Pillow 在描边绘制时对未初始化指针调用 FT_Done_Glyph 的路径。

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

    Pillow 的 Image.merge 因未校验 band 0 存在空指针解引用,公开 PoC 可致进程崩溃

    Pillow 的 Image.merge() 只校验 bands[1:] 的模式与尺寸,当 band 0 是单波段 I 或 F 图像时,其 image8 平面为 NULL,ImagingMerge 在 src/libImaging/Bands.c:302、:311、:321 解引用该空指针导致进程崩溃。

    为什么值得看:公告给出可运行的 PoC 与崩溃栈,说明 Image.merge 只校验 band 0 之外的分带,便于确认 Pillow 部署是否受影响。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

10月21日周三
  1. Ubuntu 安全公告 (USN)40

    Ubuntu 发布 USN-8927-2:curl 多个漏洞修复覆盖 Ubuntu 26.10

    Ubuntu 发布 USN-8927-2,为 Ubuntu 26.10 提供 USN-8927-1 中 curl 漏洞的对应修复。涉及 CVE-2026-107928 等 19 个编号,含 GnuTLS 构建下 WebSocket 发送路径越界读取、FTP 通配符匹配与 HTTP/2 上传中的 UAF,以及 TFTP、HSTS、IMAP 命令注入等问题,可致信息泄露、DoS 或任意代码执行。

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

    Pillow 的 ImagingJpegDecode 存在堆缓冲区溢出,附 SOF3 复现环境

    Pillow 在 ImagingJpegDecode 中未校验 libjpeg 返回的 output_width 与缓冲区尺寸,当 libjpeg-turbo 3.x 解码 SOF3 无损 JPEG 时缩放参数被忽略,导致堆缓冲区溢出。

    为什么值得看:披露给出完整 Docker 复现与 ASan 报告,说明 thumbnail 默认路径如何触发堆溢出,便于自查与修复验证。

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

    Pillow 的 TiffDecode.c 存在堆越界读,公开复现脚本与修复补丁

    Pillow 在解码畸形压缩 TIFF 时,src/libImaging/TiffDecode.c 的 _decodeTile() 与 _decodeAsRGBA() 会读取堆缓冲区之外的数据并写入返回图像的像素,攻击者可借此拿到进程堆内存片段,包括指针值,稍大的文件则会让进程崩溃。

    为什么值得看:材料给出可运行的复现脚本与补丁,说明 Pillow 与 libtiff 对畸形 TIFF 标签解析不一致如何导致堆越界读。

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

    Pillow 分块 TIFF 解码器 copy4 越界读取 tile 缓冲区

    Pillow 的 libImaging `_decodeTile` 在解码分块 TIFF 时按 `row_byte_size * tile_length` 步进读取,但缓冲区只按 libtiff 返回的 `tile_bytes_size` 分配,当后者更小时 `copy4` 会越界读取。

    同一件事,精选收录的是《Pillow 的 TiffDecode.c 存在堆越界读,公开复现脚本与修复补丁》

10月20日周二
  1. GitHub 安全公告库 (GHSA)40

    klauspost/compress s2 的 s2.NewDict 存在整数溢出与越界写入漏洞

    klauspost/compress 的 s2 包中,s2.NewDict() 存在有符号整数溢出漏洞,攻击者提供 uvarint 编码的 repeat 值超过 MaxInt64 的字典即可绕过重复索引校验。随后调用 Dict.Encode() 时,负值 repeat 经 unsafe.Pointer 算术导致越界内存访问,进程以 SIGSEGV 崩溃,构成拒绝服务。