🇰🇷 한글 설명
Part-DB의 부품 가져오기/내보내기 워크플로우에서 스프레드시트 수식 주입 취약점이 발견되었습니다. 인증된 사용자가 수식이 포함된 CSV 파일을 가져오면, 이후 XLSX로 내보낼 때 해당 수식이 실행 가능한 상태로 저장되어 다른 사용자의 스프레드시트 소프트웨어에서 실행될 수 있습니다.
💡 쉬운 설명
악성 수식이 포함된 파일을 시스템에 올리면, 나중에 이 파일을 엑셀로 열 때 컴퓨터가 자동으로 나쁜 명령어를 실행할 수 있는 문제입니다. 이를 통해 공격자가 사용자의 컴퓨터에서 원치 않는 동작을 유도할 수 있습니다.
🇺🇸 원문 (English)
Part-DB is an open source inventory management system for electronic components. Prior to version 2.13.2, Part-DB contains a spreadsheet formula injection vulnerability in the part import/export workflow. An authenticated user with permission to import parts can import a CSV file containing formula-prefixed values, such as =1+1, into user-controlled part fields. When the affected part is later exported as an XLSX spreadsheet, Part-DB writes the attacker-controlled value using PhpSpreadsheet's setCellValue() method without neutralising spreadsheet formula characters. As a result, the exported XLSX file contains an executable spreadsheet formula cell rather than a plain text value. If another user exports and opens the spreadsheet, the formula may be evaluated by their spreadsheet software. This issue has been patched in version 2.13.2.
📍 영향받는 시스템
Part-DB version 2.13.2 미만 버전
⚔️ 공격 벡터
권한이 있는 사용자가 수식 접두사(=)가 포함된 CSV 파일을 업로드하여 데이터베이스에 저장한 후, 다른 사용자가 이를 XLSX로 내보내어 실행하게 함
🛡️ 대응 방법
Part-DB를 최신 버전인 2.13.2 이상으로 업데이트하십시오.
🔧 검증 코드
명령어 실행 결과에서 버전 번호가 2.13.2 이상인지 확인하십시오.
curl -s http://<target_ip>/version | grep -E '2.13.2|higher'