🇰🇷 한글 설명
Warpgate 0.28.4 미만 버전에서 관리자 권한 검증 미흡으로 인해 발생하는 취약점입니다. 제한된 권한을 가진 관리자가 특정 API를 호출하여 기존 사용자의 역할 만료 시간을 연장하거나 취소된 권한을 다시 활성화할 수 있습니다.
💡 쉬운 설명
관리자 권한이 낮은 사용자가 원래는 할 수 없는 권한 수정 작업을 수행할 수 있는 보안 결함입니다. 이를 통해 만료된 권한을 다시 살리거나 취소된 권한을 되돌리는 것이 가능합니다.
🇺🇸 원문 (English)
Warpgate is an open source SSH, HTTPS and MySQL bastion host for Linux. Prior to 0.28.4, PUT /@warpgate/admin/api/users/:id/roles/:role_id reaches api_update_user_role in warpgate-admin/src/api/users.rs through AdminContext but does not require AdminPermission::AccessRolesAssign. A limited administrator with any permission can update expires_at on an existing UserRoleAssignment and clear revoked_at, extending an expiring grant or reinstating a revoked grant. The endpoint cannot create a role assignment that never existed because it returns not found without a matching user and role pair. This issue is fixed in version 0.28.4.
📍 영향받는 시스템
Warpgate 0.28.4 미만 모든 버전
⚔️ 공격 벡터
제한된 권한을 가진 관리자가 특정 API 엔드포인트(PUT /@warpgate/admin/api/users/:id/roles/:role_id)를 호출하여 권한 정보를 수정
🛡️ 대응 방법
Warpgate를 최신 버전인 0.28.4 이상으로 업데이트하십시오.
🔧 검증 코드
출력된 버전이 0.28.4 미만인 경우 해당 취약점에 노출되어 있는 상태입니다.
cargo run --version 2>/dev/null | grep -E '0\.28\.[4-9]' || echo 'Version check required'