🇰🇷 한글 설명
HireFlow v1.2 버전에서 부적절한 접근 제어 취약점이 발견되었습니다. /candidate/<id> 및 /interview/<id> 엔드포인트가 객체 수준의 권한 부여를 강제하지 않아, 인증된 사용자가 ID 값을 변경하여 타인의 후보자 프로필과 면접 기록에 접근할 수 있습니다.
💡 쉬운 설명
로그인한 사용자라면 누구나 주소창의 숫자만 바꿔서 다른 사람의 개인정보와 면접 내용을 몰래 볼 수 있는 보안 결함입니다. 이는 권한이 없는 사용자가 다른 사용자의 데이터에 접근하는 수평적 권한 상승 공격으로 이어질 수 있습니다.
🇺🇸 원문 (English)
HireFlow v1.2 is vulnerable to Incorrect Access Control. The application does not enforce object-level authorization on the /candidate/<id> and /interview/<id> endpoints. The route handlers retrieve records by the user-supplied ID without verifying that the requesting user is the owner or has an authorized role. Any authenticated user can access any other user's candidate profiles and interview notes by iterating the integer ID in the URL path, constituting a horizontal privilege escalation and full data breach of all records in the system.
⚔️ 공격 벡터
인증된 사용자가 URL 경로의 정수형 ID 값을 순차적으로 변경(ID Enumeration)하여 타인의 데이터에 접근
🛡️ 대응 방법
엔드포인트 요청 시 요청자가 해당 객체의 소유자인지 또는 적절한 권한을 가졌는지 확인하는 객체 수준 권한 부여(BOLA/IDOR) 로직을 구현해야 합니다.
🔧 검증 코드
본인의 데이터가 아닌 다른 ID의 데이터가 200 OK와 함께 정상적으로 반환된다면 취약한 상태입니다.
curl -i -H 'Authorization: Bearer <valid_token>' https://<target>/candidate/1
📊 CVSS Vector String
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N
💻 영향받는 소프트웨어
IBM Security Verify Access