🔍 CVE-2026-59162

7.5
CVSS Score
HIGH
2026-07-10
2026-10-25 15:10
✅ 완료

🇰🇷 한글 설명

Excelize는 Microsoft Excel 스프레드시트를 읽고 쓰기 위한 Go 언어 라이브러리입니다. 2.11.0 이전 버전에서는 공유 문자열 셀 값을 strconv.Atoi로 파싱하면서 상한만 검사하고 하한은 검사하지 않아, 값이 -1인 셀을 포함한 XLSX 파일을 GetCellValue 또는 GetRows로 읽을 때 sharedStrings[-1] 인덱싱으로 패닉이 발생할 수 있습니다. 이 문제는 2.11.0 버전에서 수정되었습니다.

💡 쉬운 설명

엑셀 파일을 처리하는 프로그램 라이브러리에서 잘못된 값을 제대로 걸러내지 못하는 문제입니다. 악의적으로 조작된 엑셀 파일을 열면 프로그램이 비정상 종료될 수 있습니다.

🇺🇸 원문 (English)

Excelize is a Go language library for reading and writing Microsoft Excel spreadsheets. Prior to 2.11.0, Excelize parses shared-string cell values with strconv.Atoi and checks only the upper bound before indexing the shared string slice, allowing an XLSX file containing a shared-string cell with -1 to trigger sharedStrings[-1] and panic when read through GetCellValue or GetRows. This issue is fixed in version 2.11.0.

📍 영향받는 시스템

Excelize 2.11.0 미만 버전을 사용하는 Go 애플리케이션 전반

⚔️ 공격 벡터

셀 값이 -1인 조작된 XLSX 파일을 대상 애플리케이션이 GetCellValue 또는 GetRows로 읽도록 유도하여 서비스 거부(패닉)를 일으킴

🛡️ 대응 방법

Excelize 라이브러리를 2.11.0 이상으로 업그레이드 (go get github.com/xuri/excelize/[email protected])

🔧 검증 코드

출력된 버전이 v2.11.0 이상이면 패치된 상태이며, 그 미만이면 취약하므로 업그레이드가 필요합니다.

Shell / Script
go list -m github.com/xuri/excelize/v2 2>/dev/null

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

💻 영향받는 소프트웨어

Microsoft Excel