🇰🇷 한글 설명
GoJobs는 채용 게시판 플랫폼을 위한 REST API입니다. 이 애플리케이션의 채용 정보 조회 엔드포인트는 인증되지 않은 사용자가 객체 식별자를 직접 조작하여 채용 상세 정보에 접근할 수 있게 합니다. 해당 엔드포인트에 적절한 인증 및 권한 검사가 없어 무단 데이터 접근이 발생합니다.
💡 쉬운 설명
로그인하지 않은 사람도 채용 공고의 번호만 바꾸면 다른 공고의 상세 정보를 볼 수 있는 취약점입니다. 권한 확인이 빠져 있어 정보가 외부에 노출될 수 있습니다.
🇺🇸 원문 (English)
GoJobs is a REST API for a Job Board platform. The application exposes a job retrieval endpoint that allows unauthenticated users to access job details by directly manipulating object identifiers. The endpoint lacks proper authentication and authorization checks, resulting in unauthorized access to job data.
📍 영향받는 시스템
GoJobs REST API를 사용하는 채용 게시판 플랫폼 (영향 버전은 공식 advisory 확인 필요)
⚔️ 공격 벡터
네트워크를 통해 인증 없이 job 조회 API의 ID 파라미터를 순차적으로 변경하여 다른 사용자의 채용 데이터를 열람
🛡️ 대응 방법
해당 엔드포인트에 인증 미들웨어를 적용하고, 요청자가 해당 객체에 접근 권한이 있는지 서버 측에서 검증하도록 수정 후 최신 버전으로 업데이트
🔧 검증 코드
인증 헤더 없이 요청했을 때 200이 반환되면 취약한 상태이고, 401 또는 403이 반환되면 인증 검사가 적용된 것입니다.
curl -s -o /dev/null -w '%{http_code}' http://localhost:8080/api/jobs/1