adamwolf / adamwolf/screenshat
Security: vulnerable dependency image-size (CVE-2025-71329/71330) — maintained drop-in available
- 主要語言
- JavaScript
- 星號
- 4
- 分支
- 0
- PR 合併指標
- 30 天內沒有已合併 PR
描述
## Context
This package depends on npm **`image-size`**. Upstream is **archived** and the latest release (**2.0.2**) remains affected by:
- **CVE-2025-71329** — DoS via infinite loop (JXL/HEIF/JP2 zero-size boxes)
- **CVE-2025-71330** — DoS via infinite loop (ICNS zero entry length)
`npm audit fix` will **not** switch package names automatically.
## Maintained drop-in
Community MIT fork with the same public API as `image-size@2.0.2`:
- **npm:** https://www.npmjs.com/package/image-size-next (`image-size-next@2.1.0`)
- **GitHub:** https://github.com/lcf2212dev/image-size-next
- **Announcement:** https://github.com/lcf2212dev/image-size-next/blob/main/ANNOUNCE.md
Not affiliated with the original `image-size` maintainer — honest community fork only.
## Migration options
**A — Direct dependency**
```bash
npm install image-size-next
```
```diff
- import { imageSize } from 'image-size'
+ import { imageSize } from 'image-size-next'
```
**B — Force transitive resolution (npm 8.3+)**
```json
{
"overrides": {
"image-size": "npm:image-size-next@2.1.0"
}
}
```
## Ask
Happy to open a PR for **`screenshat`** if useful. Thanks for maintaining open source.
cc @adamwolf
貢獻指南
研究方向
Inspect the dependency manifest (package.json) and lockfile to locate the current `image-size` entry. Apply either a direct replacement to `image-size-next` or the `overrides` strategy shown in the issue, then run `npm install` and `npm audit` to verify the vulnerable versions are no longer present. If the project has tests or CI checks, run them to confirm no breakage, and mark done when dependency graph is updated without CVE-2025-71329/71330 exposure.
由索引模型根據 Issue 內容生成。
評估
- 技術堆疊
- javascript, node.js
- 領域
- security
- Issue 類型
- 缺陷
- 難度
- 2/5
- 預估耗時
- 1-3 小時
- 活躍度
- 冷清
- 描述清晰度
- 基本清楚
- 新手友好度
- 68/100