🇰🇷 한글 설명
jshERP 3.6 이하 버전에서 GET /supplier/exportExcel 경로를 통해 권한 부여 오류가 발생합니다. 인증된 사용자가 역할 기반 데이터 범위 제한을 우회하여 모든 공급업체, 고객 및 회원 기록을 엑셀로 추출할 수 있습니다. 이로 인해 연락처, 전화번호, 세금 번호, 은행 계좌 및 잔액과 같은 민감한 정보가 노출될 수 있습니다.
💡 쉬운 설명
로그인한 사용자가 권한 밖의 정보를 몰래 가져갈 수 있는 보안 결함입니다. 원래는 자기 부서 정보만 봐야 하지만, 특정 기능을 이용하면 회사 전체의 고객과 계좌 정보를 엑셀 파일로 한꺼번에 내려받을 수 있습니다.
🇺🇸 원문 (English)
jshERP through 3.6 contains an incorrect authorization vulnerability in GET /supplier/exportExcel that allows authenticated users to bypass role data scope restrictions enforced by /supplier/list. Attackers restricted to personal or department data can export every supplier, customer and member record, exposing contacts, phone numbers, tax numbers, bank accounts and balances.
📍 영향받는 시스템
jshERP version 3.6 and below
⚔️ 공격 벡터
인증된 사용자가 권한 우회 API(GET /supplier/exportExcel)를 호출하여 데이터 추출
🛡️ 대응 방법
해당 API의 권한 검증 로직을 수정하여 /supplier/list와 동일한 데이터 범위 제한을 적용하거나 최신 보안 패치를 적용하십시오.
🔧 검증 코드
권한이 제한된 사용자의 토큰으로 요청 시 200 OK와 함께 파일이 다운로드되면 취약한 상태이며, 403 Forbidden이 발생해야 안전합니다.
curl -I -X GET 'http://<target_ip>/supplier/exportExcel' -H 'Authorization: Bearer <user_token>'