🇰🇷 한글 설명
InvenTree 1.4.0 미만 버전에서 보고서 및 라벨 출력 API가 호출자의 권한을 적절히 검증하지 않는 취약점이 발견되었습니다. 이로 인해 권한이 없는 사용자가 객체 식별자를 열거하여 구매, 판매, 재고, 가격 등 민감한 데이터가 포함된 보고서를 다운로드할 수 있습니다.
💡 쉬운 설명
로그인만 하면 권한이 없는 사람도 회사의 중요한 재고나 가격 정보가 담긴 보고서를 몰래 뽑아볼 수 있는 보안 구멍이 있습니다. 누구나 보고서 생성 기능을 이용해 기업의 기밀 데이터를 훔쳐갈 수 있는 상태입니다.
🇺🇸 원문 (English)
InvenTree is an Open Source Inventory Management System. Prior to 1.4.0, ReportPrint at POST /api/report/print/ and LabelPrint at POST /api/report/label/print/ require authentication but do not call users.permissions.check_user_permission for the caller's per-model view role before selecting objects by primary key and rendering them with a chosen template. Because default templates exist for major business models and DataOutput stores the generated artifact for the requesting user, a role-less or unrelated-role account can enumerate object identifiers and download reports containing purchase, sales, part, bill-of-materials, stock, build, supplier, customer, pricing, and inventory data that the corresponding detail APIs would deny. This issue is fixed in version 1.4.0.
📍 영향받는 시스템
InvenTree 버전 1.4.0 미만
⚔️ 공격 벡터
인증된 사용자(또는 권한 없는 계정)가 특정 API 엔드포인트에 POST 요청을 보내 객체 ID를 무작위로 대입하여 보고서를 생성 및 다운로드
🛡️ 대응 방법
InvenTree를 최신 보안 패치가 적용된 버전 1.4.0 이상으로 업데이트하십시오.
🔧 검증 코드
출력 결과에 1.4.0 이상의 버전 번호가 나타나면 취약점이 해결된 상태입니다.
curl -s http://<target-ip>/api/version/ | grep -E '1.4.0'