🇰🇷 한글 설명
OpenCTI의 JSON 수집 매퍼 내 extractWithRegexp 함수가 사용자 입력 정규식을 검증 없이 컴파일하여 발생합니다. 인증된 사용자가 복잡한 정규식을 제공할 경우 ReDoS 공격을 통해 Node.js 이벤트 루프를 차단하고 GraphQL API를 마비시킬 수 있습니다. 이 문제는 가용성에 영향을 미치며, 7.260706.0 버전에서 수정되었습니다.
💡 쉬운 설명
악의적인 정규식 패턴을 사용하여 시스템의 계산 자원을 과도하게 소모하게 만드는 공격입니다. 이 공격이 성공하면 서비스가 멈춰버려 다른 사용자들이 시스템을 이용할 수 없게 됩니다.
🇺🇸 원문 (English)
OpenCTI is an open source platform for managing cyber threat intelligence knowledge and observables. Prior to 7.260706.0, the JSON ingestion mapper's extractWithRegexp formula function compiled a user-supplied regular expression with the JavaScript RegExp engine in opencti-platform/opencti-graphql/src/parser/json-mapper.ts without validating its complexity. An authenticated user with JSON mapper creation permission could provide a catastrophically backtracking pattern and matching ingestion input, blocking the Node.js event loop and making the GraphQL API unavailable to all users. Scheduled ingestion could repeatedly execute the malicious mapper without additional attacker action, and recovery could require disabling the mapper and restarting the process. The issue affects availability and does not expose or modify data. This issue is fixed in version 7.260706.0.
📍 영향받는 시스템
OpenCTI 버전 7.260706.0 미만
⚔️ 공격 벡터
권한을 가진 사용자가 복잡한 정규식 패턴이 포함된 JSON 매퍼를 생성하여 시스템 자원을 고갈시킴
🛡️ 대응 방법
OpenCTI를 최신 보안 패치가 적용된 버전 7.260706.0 이상으로 업데이트하십시오.
🔧 검증 코드
출력된 버전 번호가 7.260706.0보다 낮은지 확인하십시오.
curl -s http://<OPENCTI_URL>/api/graphql | grep -oP '(?<=version":")[^"]+' || echo 'Version check failed'