🇰🇷 한글 설명
StockAgile API 및 관리 패널에서 발생하는 저장형 XSS 취약점입니다. '/inventory/configuration/serial-number-types' REST 엔드포인트의 'code', 'name' 등의 필드에 악성 자바스크립트를 삽입하여 서버에 저장할 수 있습니다. 인증된 공격자가 이를 악용하면 관리 패널을 사용하는 사용자의 브라우저에서 임의의 코드를 실행할 수 있습니다.
💡 쉬운 설명
공격자가 게시판이나 설정창에 몰래 악성 코드를 심어두는 방식의 보안 약점입니다. 이 코드가 실행되면 관리자의 계정 정보를 훔치거나 웹사이트를 마음대로 조작할 수 있습니다.
🇺🇸 원문 (English)
Stored Cross-Site Scripting (XSS) vulnerability in StockAgile API and management panel. The vulnerability is present on the server side in REST endpoint '/inventory/configuration/serial-number-types' that allow the injection and persistence of malicious JavaScript code through parameters such as ‘code’, ‘name’, and other text fields. The scripts that are entered are not filtered or validated correctly before being displayed on the web panel that authenticated users can access. Exploiting this vulnerability could allow a remote, previously authenticated attacker to execute arbitrary JavaScript code.
📍 영향받는 시스템
StockAgile API 및 관리 패널 (해당 엔드포인트를 사용하는 버전)
⚔️ 공격 벡터
인증된 공격자가 API 파라미터에 악성 스크립트를 삽입하여 서버에 저장한 후, 관리자가 이를 조회할 때 실행됨
🛡️ 대응 방법
입력값에 대한 서버 측 검증 및 필터링을 강화하고, 출력 시 HTML 엔티티 인코딩을 적용해야 함
🔧 검증 코드
응답 결과나 관리 패널에서 입력한 <script> 태그가 필터링 없이 그대로 출력된다면 취약한 상태임
curl -i -X POST 'https://<target>/inventory/configuration/serial-number-types' -d 'code=<script>alert(1)</script>&name=test'
💻 영향받는 소프트웨어
Multi-Domain Security Management Server