🔍 CVE-2026-86742

6.5
CVSS Score
MEDIUM
2026-09-09
2026-09-14 20:47
✅ 완료

🇰🇷 한글 설명

Snipe-IT 8.6.3 이하 버전에서 '미수락 자산' 보고서 CSV 내보내기 시 수식 요소를 중립화하지 않는 취약점이 발견되었습니다. 인증된 저권한 사용자가 텍스트 필드에 수식을 삽입하면, 보고서를 확인하는 사용자의 스프레드시트 프로그램에서 해당 수식이 실행되어 데이터 유출이나 명령 실행이 가능할 수 있습니다.

💡 쉬운 설명

자산 관리 프로그램에서 보고서를 엑셀 파일로 만들 때, 악의적인 수식이 포함된 데이터를 걸러내지 못하는 문제입니다. 공격자가 입력한 특수 문자가 포함된 파일을 엑셀로 열면, 공격자가 원하는 명령이 실행되거나 정보가 빠져나갈 수 있습니다.

🇺🇸 원문 (English)

Snipe-IT through 8.6.3 does not neutralize formula elements in the "unaccepted assets" acceptance report CSV export. ReportsController::postAssetAcceptanceReport builds the CSV by hand (stripping commas and joining rows manually) and, unlike the six sibling exports in the same controller, never applies League\Csv\EscapeFormula or honors the config('app.escape_formulas') setting. An authenticated low-privilege user with ordinary create/edit rights on any record whose free-text fields appear in the report (asset name/tag, company name, category, model, or assignee display name) can set such a field to a value beginning with =, +, -, @, tab, or CR. When a user with reports.view privileges requests the export (POST /reports/unaccepted_assets) for a pending checkout acceptance referencing the poisoned record and opens the resulting CSV in Excel, LibreOffice Calc, or Google Sheets, the injected content is evaluated as a formula in the downloader's spreadsheet context, enabling data exfiltration (e.g., HYPERLINK/WEBSERVICE) or, on legacy Windows Excel configurations, DDE command execution. Fixed in 8.7.0.

📍 영향받는 시스템

Snipe-IT 8.6.3 및 그 이전 버전

⚔️ 공격 벡터

저권한 사용자가 자산 이름이나 사용자 이름 등 텍스트 필드에 수식 기호(=, +, -, @ 등)를 삽입한 후, 관리자가 해당 보고서를 CSV로 내보내어 실행하도록 유도

🛡️ 대응 방법

Snipe-IT를 최신 보안 패치가 적용된 8.7.0 버전 이상으로 업데이트하십시오.

🔧 검증 코드

출력된 버전이 8.7.0 미만(예: 8.6.3)이면 취약한 상태이며, 8.7.0 이상이면 안전합니다.

Shell / Script
php artisan snipeit:version 2>/dev/null | grep -E '8(\.[0-9]+){0,2}([^0-9]|$)'

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Storage Protect Snapshot for Windows