ValentinTorassa/ubuntu-security-fixes
GitHub: ValentinTorassa/ubuntu-security-fixes
该项目为 Ubuntu universe 软件包中尚未在标准通道修复的 CVE 提供社区安全补丁,帮助无 ESM 订阅的用户自行修补漏洞。
Stars: 0 | Forks: 0
# Ubuntu 安全修复
针对 Ubuntu **universe** 软件包中未解决 CVE 的补丁 —— 这些是由社区维护的软件包,不会收到来自 Canonical 的自动安全更新。
以下三个 CVE 均已在 **ESM (Ubuntu Pro)** pocket 中发布了修复。此处的补丁用于填补标准 pocket(大多数用户运行的版本)的空白。
## 🟡 CVE-2025-11021 — libsoup3 (jammy)
| | |
|---|---|
| **严重程度** | HIGH (CVSS 7.5) |
| **问题** | 解析 cookie 日期时出现越界读取 —— `parse_timezone()` 中发生整数溢出 |
| **软件包** | `libsoup3` |
| **受影响版本** | 仅 `jammy`(所有其他版本已修复) |
| **ESM 状态** | ✅ `esm-apps/jammy: released (3.0.7-0ubuntu1+esm5)` |
| **标准状态** | ❌ `jammy: needed` |
| **上游修复** | [GNOME MR !473](https://gitlab.gnome.org/GNOME/libsoup/-/merge_requests/473) |
| **Debian bug** | [#1116469](https://bugs.debian.org/1116469) |
| **补丁** | [`libsoup3/CVE-2025-11021-CVE-2025-4945.patch`](libsoup3/CVE-2025-11021-CVE-2025-4945.patch) |
### 追踪合并状态
- [Ubuntu CVE 页面](https://ubuntu.com/security/CVE-2025-11021)
- [Launchpad 软件包](https://launchpad.net/ubuntu/+source/libsoup3)
- CLI: `rmadison libsoup3 \| grep jammy`
## 🟡 CVE-2025-11683 — libyaml-syck-perl (jammy + noble)
| | |
|---|---|
| **严重程度** | MEDIUM (CVSS 6.5) |
| **问题** | `token.c` 中缺少空终止符 —— 导致空键 YAML 哈希发生越界读取 |
| **软件包** | `libyaml-syck-perl` |
| **受影响版本** | `jammy`, `noble` |
| **ESM 状态** | ✅ `esm-apps/jammy: released (1.34-1ubuntu0.1~esm1)`, `esm-apps/noble: released (1.34-2ubuntu0.24.04.1~esm1)` |
| **标准状态** | ❌ `jammy: needed`, `noble: needed` |
| **上游修复** | [dcf4c84](https://github.com/cpan-authors/YAML-Syck/commit/dcf4c8477b82ef439f43fd20dc099082d096df02) (v1.36) |
| **补丁** | [`libyaml-syck-perl/CVE-2025-11683.patch`](libyaml-syck-perl/CVE-2025-11683.patch) |
### 追踪合并状态
- [Ubuntu CVE 页面](https://ubuntu.com/security/CVE-2025-11683)
- [Launchpad 软件包](https://launchpad.net/ubuntu/+source/libyaml-syck-perl)
- CLI: `rmadison libyaml-syck-perl \| grep -E "jammy\|noble"`
## 🟡 CVE-2025-11266 — gdcm (jammy + noble + questing)
| | |
|---|---|
| **严重程度** | MEDIUM (CVSS 6.6) |
| **问题** | 解析 DICOM 片段时出现 OOB 写入 —— 访问缓冲区前缺少边界检查 |
| **软件包** | `gdcm` |
| **受影响版本** | `jammy`, `noble`, `questing` |
| **上游修复** | [5829c95](https://github.com/malaterre/GDCM/commit/5829c95c8ac3afa9a3a3413675e948959c28a789) (v3.2.2) |
| **Debian bug** | [#1122862](https://bugs.debian.org/1122862) |
| **补丁** | [`gdcm/CVE-2025-11266.patch`](gdcm/CVE-2025-11266.patch) |
### 追踪合并状态
- [Ubuntu CVE 页面](https://ubuntu.com/security/CVE-2025-11266)
- [Launchpad 软件包](https://launchpad.net/ubuntu/+source/gdcm)
- CLI: `rmadison gdcm`
## 如何提交 SRU
1. **提交 Launchpad bug**:针对每个 CVE 在 `bugs.launchpad.net/ubuntu/+source/` 提交
2. **下载源码**:`pull-lp-source jammy`
3. **应用补丁**:将 `.patch` 复制到 `debian/patches/` 中,并将其添加到 `series`
4. **更新日志**:`dch -v ".1" -D jammy-security "SECURITY UPDATE: ..."`
5. **构建并上传**:`debuild -S -sa && dput ubuntu ../*.changes`
## 如何检查修复是否已合并
合并并不会在 GitHub 上发生 —— 而是在 **Launchpad**(Ubuntu 的平台)上进行。以下是追踪每个步骤的方法:
| 检查内容 | 方法 | 含义 |
|---|---|---|
| **CVE 追踪器状态** | [ubuntu.com/security/cves](https://ubuntu.com/security/cves) —— 搜索 CVE ID | 如果显示 "Fixed" 或展示了已发布版本,说明补丁已交付 |
| **软件包版本** | 在任何 Ubuntu 机器上运行 `rmadison ` | 查找带有已修复版本的 `-security` 或 `-updates` pocket |
| **Launchpad bug** | 你在提交时填报的 bug | 状态变化过程:New → In Progress → Fix Committed → Fix Released |
| **UCT git 仓库** | `git clone lp:ubuntu-cve-tracker && grep active/CVE-*` | `needed` 变为 `released ()` |
| **USN 通告** | [ubuntu.com/security/notices](https://ubuntu.com/security/notices) | 当修复正式发布时,Canonical 会公布一份 USN |
### 快速检查(获取 Launchpad bug 编号后):
```
# 检查修复是否已发布
rmadison libsoup3 | grep jammy-security
# 检查 CVE 追踪器
git clone --depth 1 git://git.launchpad.net/ubuntu-cve-tracker
grep jammy_libsoup3 ubuntu-cve-tracker/active/CVE-2025-11021
```
## 仓库结构
```
libsoup3/ → CVE-2025-11021 / CVE-2025-4945
libyaml-syck-perl/ → CVE-2025-11683
gdcm/ → CVE-2025-11266
```
每个文件夹都包含 `.patch` 文件和打包差异(`changelog.diff`, `series.diff`)。
标签:Cutter, 包管理, 安全补丁, 开源治理, 漏洞修复, 系统运维, 网络安全培训