Tóm tắt nhanh
- CVE-2026-62297 trong ag-psd có thể làm cạn bộ nhớ khi phân tích PSD.
- Gói npm ag-psd dưới 31.0.0 bị ảnh hưởng; dịch vụ xử lý PSD không đáng tin cậy có nguy cơ DoS.
- Ưu tiên nâng cấp lên 31.0.0; trước khi nâng cấp, tránh xử lý PSD không đáng tin cậy.
- Kiểm tra phiên bản đã cài và xác nhận đạt 31.0.0 trở lên.
ag-psd gặp lỗ hổng làm cạn bộ nhớ khi phân tích PSD, cần nâng cấp lên 31.0.0
GitHub cảnh báo CVE-2026-62297 trong thư viện Node.js ag-psd: PSD có kích thước khai báo bất thường có thể khiến tiến trình cấp phát quá nhiều bộ nhớ và bị DoS. Các phiên bản dưới 31.0.0 bị ảnh hưởng; hãy nâng cấp lên 31.0.0 và tạm tránh xử lý PSD không đáng tin cậy.
Nội dung bài viết
GitHub Advisories công bố GHSA-qfx6-q44v-9qqw cho ag-psd, thư viện Node.js dùng để đọc và xử lý tệp Adobe Photoshop PSD. Lỗ hổng có thể khiến tiến trình tiêu thụ quá nhiều bộ nhớ khi phân tích dữ liệu PSD có kích thước khai báo bất thường.
Tổng quan và thông tin kỹ thuật
| Thông tin | Chi tiết |
|---|---|
| Sản phẩm | npm ag-psd, thư viện Node.js đọc và xử lý PSD |
| Mã định danh | CVE-2026-62297; GHSA-qfx6-q44v-9qqw |
| CWE | CWE-789 |
| CVSS | 7.5 (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H) |
| Nguồn | GitHub Advisories |
Trong readPsd(), thư viện cấp phát bộ đệm ảnh và layer dựa trên kích thước, số kênh, độ sâu màu trong header PSD và hình chữ nhật layer trước khi xác thực các giá trị này với dữ liệu thực tế. Hồ sơ cho biết tệp PSD 52 byte có thể khiến ag-psd 30.2.0 trên Node 24 cam kết khoảng 3,17 GB bộ nhớ trong khoảng 0,45 giây rồi phát sinh RangeError; tiến trình có thể bị OOM-kill trước khi lỗi được xử lý.
Phạm vi ảnh hưởng
| Sản phẩm | Phiên bản ảnh hưởng | Phiên bản đã vá |
|---|---|---|
| npm ag-psd | < 31.0.0 | 31.0.0 |
Rủi ro được nêu đối với dịch vụ đọc PSD không đáng tin cậy: tệp được tạo phù hợp có thể gây DoS từ xa. Các yêu cầu đồng thời có thể làm cạn bộ nhớ.
Kiểm tra hệ thống
Kiểm tra phiên bản ag-psd được cài trong dự án Node.js:
npm ls ag-psdCó thể kiểm tra trực tiếp phiên bản của gói:
node -p "require('ag-psd/package.json').version"Phiên bản 31.0.0 trở lên đã được vá; phiên bản thấp hơn 31.0.0 cần nâng cấp.
Khắc phục và giảm thiểu
Nâng cấp gói npm ag-psd lên phiên bản 31.0.0.
Trong thời gian chưa nâng cấp, tránh xử lý các tệp PSD không đáng tin cậy.
Sau khi nâng cấp, chạy một trong các bước kiểm tra phiên bản ở trên và xác nhận phiên bản là 31.0.0 trở lên.
Hướng khắc phục được đề xuất là xác thực kích thước khai báo, số kênh, độ sâu màu và hình chữ nhật từng layer với độ dài dữ liệu đầu vào, đồng thời áp dụng giới hạn tối đa hợp lý trước khi cấp phát bộ nhớ.