🇰🇷 한글 설명
Snipe-IT의 특정 버전에서 CSV 보고서 생성 시 수식 이스케이프 처리가 누락되어 발생하는 CSV Injection 취약점입니다. 인증된 사용자가 텍스트 필드에 스프레드시트 수식을 삽입하면, 관리자가 해당 보고서를 다운로드하여 실행할 때 데이터 유출이나 명령 실행이 발생할 수 있습니다.
💡 쉬운 설명
공격자가 입력한 특수 기호가 엑셀 파일에서 명령어로 작동하여 관리자의 정보를 빼가거나 컴퓨터를 조작할 수 있는 문제입니다. 관리자가 보고서를 열 때 악성 수식이 자동으로 실행되는 것이 핵심입니다.
🇺🇸 원문 (English)
Snipe-IT is an IT asset management application. In Snipe-IT master-branch builds after 8.6.3 (the code was never included in a tagged release), SettingsController::downloadLocationScopingReport streams the FMCS location-scoping mismatch report (GET /admin/settings/location-scoping-report.csv) through a bare fputcsv() call without applying League\Csv\EscapeFormula, unlike the other CSV exports which honor config('app.escape_formulas'). An authenticated user with ordinary create/edit rights can place a spreadsheet formula in free-text fields that appear in the report (item name, asset tag, serial, item or location company name, location name) and arrange for the record to be FMCS-mismatched so it is included in the export. When a superuser downloads the report and opens it in Excel, LibreOffice Calc, or Google Sheets with formula evaluation enabled and external-content warnings dismissed or disabled, cells beginning with =, +, -, @, tab, or CR are executed in the victim's spreadsheet context, enabling data exfiltration (e.g., HYPERLINK/WEBSERVICE) or, on Windows Excel, legacy DDE command execution. This issue is fixed in version 8.7.0.
📍 영향받는 시스템
Snipe-IT master-branch builds after 8.6.3 (tagged release 미포함 버전)
⚔️ 공격 벡터
인증된 사용자가 자산 정보 필드에 스프레드시트 수식(=, +, -, @ 등)을 삽입한 후 관리자가 해당 CSV 보고서를 다운로드하도록 유도
🛡️ 대응 방법
Snipe-IT를 버전 8.7.0 이상으로 업데이트하십시오.
🔧 검증 코드
명령어 결과로 출력되는 버전이 8.7.0 이상인지 확인하십시오.
php artisan snipeit:version 2>/dev/null | grep -E '8(\.7|\.[8-9]|[9-9][0-9])'
📊 CVSS Vector String
CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:L
💻 영향받는 소프트웨어
Storage Protect Snapshot for Windows