🇰🇷 한글 설명
TransformerOptimus SuperAGI v0.0.14의 superagi/controllers/knowledges.py 내 delete_user_knowledge 함수에서 잘못된 접근 제어 취약점이 발견되었습니다. POST /knowledges/delete/{knowledge_id} 경로 호출 시 인증 절차를 거치지 않으며, 요청된 knowledge_id가 해당 조직의 소유인지 확인하지 않아 임의 삭제가 가능합니다.
💡 쉬운 설명
로그인을 하지 않은 외부인도 특정 명령어를 보내면 시스템에 저장된 중요한 지식 데이터를 마음대로 삭제할 수 있는 보안 결함입니다. 공격자가 데이터의 ID 값만 알면 다른 사용자의 정보를 삭제할 수 있어 위험합니다.
🇺🇸 원문 (English)
TransformerOptimus SuperAGI v0.0.14 contains an incorrect access control vulnerability in delete_user_knowledge in superagi/controllers/knowledges.py. In affected source snapshots, POST /knowledges/delete/{knowledge_id} deletes the selected knowledge object without requiring authentication in the route and without verifying organization ownership of the supplied knowledge_id.
📍 영향받는 시스템
TransformerOptimus SuperAGI v0.0.14
⚔️ 공격 벡터
인증 없이 특정 API 엔드포인트(POST /knowledges/delete/{knowledge_id})에 요청을 보내 타인의 지식 객체를 삭제
🛡️ 대응 방법
해당 API 경로에 인증 미들웨어를 적용하고, 삭제 요청 시 해당 데이터의 소유권(organization ownership)을 검증하는 로직을 추가해야 합니다.
🔧 검증 코드
인증 토큰 없이 요청을 보냈을 때 200 OK와 함께 삭제가 성공하면 취약한 상태이며, 401 Unauthorized 또는 403 Forbidden이 발생해야 안전합니다.
curl -X POST -i http://<target_ip>/knowledges/delete/<target_knowledge_id> 2>/dev/null
📊 CVSS Vector String
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N
💻 영향받는 소프트웨어
IBM Security Verify Access