🇰🇷 한글 설명
프론트엔드에서 기업 셀프 서비스 편집 기능이 템플릿 수준의 가시성 플래그에만 의존하여 소유하지 않은 기업 기록의 편집 폼을 숨깁니다. 그러나 서버 측 쓰기 작업 시 소유권 확인을 다시 수행하지 않아, 공격자가 공개 디렉토리에서 식별자를 획득한 후 직접 수정 요청을 보내 데이터를 덮어쓸 수 있습니다.
💡 쉬운 설명
웹사이트 화면에서는 남의 정보를 수정하지 못하게 막아두었지만, 실제 데이터를 저장하는 서버에서는 주인인지 확인하지 않는 보안 허점이 있습니다. 이를 통해 공격자는 다른 회사의 정보를 몰래 수정하거나 바꿀 수 있습니다.
🇺🇸 원문 (English)
The frontend company self-service editing feature relies on a template-level visibility flag to hide the edit form for company records a visitor does not own, but the corresponding write operation does not repeat this ownership check on the server side. As a result, a visitor who knows the identifier of a company record from the public directory can submit a modified update request for that record directly and overwrite its data, without the application ever confirming that the visitor owns it.
📍 영향받는 시스템
기업 셀프 서비스 편집 기능이 포함된 프론트엔드 및 백엔드 시스템
⚔️ 공격 벡터
공개된 기업 식별자를 이용한 직접적인 HTTP 수정 요청(Write Operation) 전송
🛡️ 대응 방법
서버 측 쓰기 API 호출 시 요청자의 소유권을 검증하는 로직을 반드시 추가해야 합니다.
🔧 검증 코드
소유하지 않은 ID로 수정 요청을 보냈을 때, 200 OK가 아닌 403 Forbidden 또는 401 Unauthorized가 반환되어야 안전합니다.
curl -X POST -d '{"id":"target_id", "data":"malicious"}' https://api.example.com/company/update
💻 영향받는 소프트웨어
IBM WebSphere Application Server