From 55946b82ece4600c7c56959c687383c238f2e8da Mon Sep 17 00:00:00 2001 From: huangjianwu Date: Tue, 23 Jun 2026 11:45:28 +0800 Subject: [PATCH 1/2] =?UTF-8?q?fix(deps):=20=E5=8D=87=E7=BA=A7=20starlette?= =?UTF-8?q?=200.46.1=E2=86=920.47.2=20=E4=BF=AE=E5=A4=8D=20CVE-2025-54121?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit starlette < 0.47.2 在解析 multipart 表单的大文件时,SpooledTemporaryFile 从内存溢写到磁盘的 rollover 是在事件循环线程内同步执行的,攻击者可借大文件 上传阻塞事件循环造成拒绝服务(GHSA-2c2j-9gv5-cj73)。0.47.2 把 rollover 写入移到线程池(UploadFile.write 命中 _will_roll 时走 run_in_threadpool)。 由于 FastAPI 0.115.12 的约束为 starlette<0.47.0,同步升级 FastAPI 0.115.12→0.116.2(约束放宽至 starlette<0.48.0/<0.49.0),与现有 pydantic 2.11.2 / anyio 4.9.0 / python-multipart 0.0.20 均兼容。 验证:pip check 无冲突;2MB multipart 上传走 rollover 路径正常; docker 整套栈在新框架下 boot 健康(sys_health backend/db ok)。 Closes #411 Refs GHSA-2c2j-9gv5-cj73 Co-Authored-By: Claude Opus 4.8 (1M context) --- backend/requirements.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/backend/requirements.txt b/backend/requirements.txt index b0d2326..c072646 100644 --- a/backend/requirements.txt +++ b/backend/requirements.txt @@ -29,7 +29,7 @@ distro==1.9.0 dnspython==2.7.0 email_validator==2.2.0 exceptiongroup==1.2.2 -fastapi==0.115.12 +fastapi==0.116.2 fastapi-cli==0.0.7 faster-whisper==1.1.1 ffmpeg-python==0.2.0 @@ -102,7 +102,7 @@ shellingham==1.5.4 six==1.17.0 sniffio==1.3.1 soupsieve==2.7 -starlette==0.46.1 +starlette==0.47.2 sympy==1.13.1 SQLAlchemy==2.0.41 tenacity==9.1.2 From e21e329d42e6e89e607f423c3f77bbd008404f51 Mon Sep 17 00:00:00 2001 From: huangjianwu Date: Tue, 23 Jun 2026 11:46:10 +0800 Subject: [PATCH 2/2] chore(release): 2.4.4 --- BillNote_frontend/src-tauri/tauri.conf.json | 2 +- CHANGELOG.md | 6 ++++++ README.md | 2 +- 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/BillNote_frontend/src-tauri/tauri.conf.json b/BillNote_frontend/src-tauri/tauri.conf.json index 6d1079f..eb432d1 100644 --- a/BillNote_frontend/src-tauri/tauri.conf.json +++ b/BillNote_frontend/src-tauri/tauri.conf.json @@ -1,7 +1,7 @@ { "$schema": "../node_modules/@tauri-apps/cli/config.schema.json", "productName": "BiliNote", - "version": "2.4.3", + "version": "2.4.4", "identifier": "com.jefferyhuang.bilinote", "build": { "frontendDist": "../dist", diff --git a/CHANGELOG.md b/CHANGELOG.md index a604c0b..f5a244c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,12 @@ 本项目所有重要变更记录于此。格式参考 [Keep a Changelog](https://keepachangelog.com/zh-CN/1.1.0/),遵循 [语义化版本](https://semver.org/lang/zh-CN/)。 +## [2.4.4] - 2026-06-23 + +### Security + +- **升级 Starlette 0.46.1 → 0.47.2 修复 CVE-2025-54121**([GHSA-2c2j-9gv5-cj73](https://github.com/advisories/GHSA-2c2j-9gv5-cj73),#411):旧版在解析 multipart 表单中的大文件时,`SpooledTemporaryFile` 从内存溢写到磁盘的 rollover 在事件循环线程内**同步执行**,攻击者可借大文件上传阻塞事件循环造成拒绝服务(DoS)。新版把该写入移到线程池。FastAPI 同步升级 0.115.12 → 0.116.2(其 starlette 约束由 `<0.47.0` 放宽,以容纳修复版本),与现有 pydantic / anyio / python-multipart 均兼容。 + ## [2.4.3] - 2026-06-23 ### Fixed diff --git a/README.md b/README.md index 6a1f2c9..7052016 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@

BiliNote Banner

-

BiliNote v2.4.3

+

BiliNote v2.4.4

AI 视频笔记生成工具 让 AI 为你的视频做笔记