🇰🇷 한글 설명
NetBox 4.5.8 버전에서 인증된 공격자가 REST API 요청 시 조작된 JSON 키를 사용하여 Django ORM 인젝션을 수행할 수 있는 취약점이 발견되었습니다. 이를 통해 공격자는 읽기 전용 토큰을 사용하여 민감한 데이터를 추출하거나 모든 모듈에 걸쳐 객체 수준의 권한을 우회할 수 있습니다.
💡 쉬운 설명
로그인 권한이 있는 사용자가 특수한 명령어를 섞은 데이터를 보내 시스템의 데이터베이스를 몰래 훔쳐볼 수 있는 문제입니다. 권한이 낮은 사용자라도 시스템의 중요한 정보를 마음대로 조회할 수 있어 위험합니다.
🇺🇸 원문 (English)
NetBox 4.5.8 contains an ORM injection vulnerability that allows authenticated attackers, including those with read-only API tokens, to inject arbitrary Django ORM lookup expressions into nested object references by supplying crafted JSON dictionary keys in POST, PUT, or PATCH requests to any REST API endpoint. Attackers can exploit the unrestricted queryset used by WritableNestedSerializer to perform boolean-based blind data extraction of sensitive field values and bypass object-level permissions across all application modules including dcim, ipam, tenancy, virtualization, circuits, and extras.
⚔️ 공격 벡터
REST API 엔드포인트에 조작된 JSON 딕셔너리 키를 포함한 POST, PUT, PATCH 요청 전송
🛡️ 대응 방법
NetBox를 최신 보안 패치가 적용된 버전으로 즉시 업데이트하십시오.
🔧 검증 코드
명령어 결과에 4.5.8이 아닌 다른 버전이 출력되면 취약하지 않은 상태이며, 4.5.8이 출력되면 취약한 상태입니다.
curl -s http://localhost/api/version/ | grep -E 'version"' | grep -v '4.5.8'