🇰🇷 한글 설명
Habitica의 /api/v3/groups/:groupId/members 경로에서 쿼리 매개변수가 정규 표현식으로 해석되기 전에 적절히 검증되지 않는 취약점이 발견되었습니다. 인증된 공격자가 계산 비용이 매우 높은 정규 표현식을 전송하여 애플리케이션 성능을 저하시키거나 Node.js 프로세스를 중단시킬 수 있습니다.
💡 쉬운 설명
해커가 복잡한 규칙을 담은 특수한 명령어를 보내서 서비스의 계산 능력을 마비시키는 공격입니다. 이로 인해 서비스가 매우 느려지거나 아예 멈춰버릴 수 있습니다.
🇺🇸 원문 (English)
Habitica is a habit tracker application that treats goals like a role-playing game. From 4.172.1 until 5.48.2, a query parameter on Habitica's /api/v3/groups/:groupId/members route is not sanitized before being interpreted as a regular expression. An authenticated caller can supply a computationally expensive regular expression that degrades application performance or halts Node.js processes. This issue is fixed in version 5.48.2.
📍 영향받는 시스템
Habitica 버전 4.172.1 ~ 5.48.2
⚔️ 공격 벡터
인증된 사용자가 API 경로의 쿼리 매개변수에 악의적인 정규 표현식을 삽입하여 전송
🛡️ 대응 방법
Habitica를 최신 버전인 5.48.2 이상으로 업데이트하십시오.
🔧 검증 코드
명령어 결과에 표시된 버전이 5.48.2 미만이라면 취약한 버전이 설치되어 있는 것입니다.
npm list habitica | grep -E 'habitica@([4]\.[0-9]+|[5]\.(4[0-8][0-9]|4[0-8]|4[7][0-9]|4[6][0-9]|4[5][0-9]|4[4][0-9]|4[3][0-9]|4[2][0-9]|4[1][0-9]|4[0][0-9]|5\.4[0-7][0-9]|5\.4[0-7]|5\.4[0-7]))'