🇰🇷 한글 설명
APTRS의 edit_user 엔드포인트에서 권한 상승 취약점이 발견되었습니다. 공격자가 요청 본문에 "is_superuser": true를 포함하여 전송하면 자신의 계정이나 타인의 계정을 슈퍼유저 권한으로 승격시킬 수 있습니다. 이는 CustomUserSerializer에서 is_superuser 필드를 읽기 전용으로 설정하지 않아 발생한 문제입니다.
💡 쉬운 설명
사용자 정보를 수정하는 기능에서 관리자 권한 설정까지 수정할 수 있는 보안 허점이 있습니다. 이를 통해 일반 사용자가 시스템의 모든 권한을 가진 관리자로 권한을 높일 수 있습니다.
🇺🇸 원문 (English)
APTRS (Automated Penetration Testing Reporting System) is a Python and Django-based automated reporting tool designed for penetration testers and security organizations. Prior to version 2.0.1, the edit_user endpoint (POST /api/auth/edituser/<pk>) allows Any user who can reach that endpoint and submit crafted permission to escalate their own account (or any other account) to superuser by including "is_superuser": true in the request body. The root cause is that CustomUserSerializer explicitly includes is_superuser in its fields list but omits it from read_only_fields, making it a writable field. The edit_user view performs no additional validation to prevent non-superusers from modifying this field. Once is_superuser is set to true, gaining unrestricted access to all application functionality without requiring re-authentication. This issue has been patched in version 2.0.1.
📍 영향받는 시스템
APTRS version 2.0.1 미만
⚔️ 공격 벡터
POST /api/auth/edituser/<pk> API 요청 시 요청 본문에 is_superuser: true 파라미터를 삽입하여 전송
🛡️ 대응 방법
APTRS를 최신 버전인 2.0.1 이상으로 업데이트하십시오.
🔧 검증 코드
출력된 버전이 2.0.1보다 낮을 경우 취약한 상태입니다.
pip show aptrs | grep Version