🇰🇷 한글 설명
Browserslist 4.28.7 미만 버전에서 발생하는 메모리 누수 취약점입니다. 공격자가 반복적인 쿼리 값을 입력할 수 있는 경우, 캐시 크기 제한이나 만료 정책이 없어 메모리가 선형적으로 증가하다가 결국 프로세스가 메모리 부족(OOM)으로 충돌하게 됩니다.
💡 쉬운 설명
웹 개발 도구가 사용자의 요청을 기억해두는 과정에서, 너무 많은 정보를 무제한으로 저장하여 컴퓨터의 메모리를 모두 써버리게 만드는 문제입니다. 이로 인해 프로그램이 갑자기 멈추거나 꺼질 수 있습니다.
🇺🇸 원문 (English)
Browserslist is a configuration tool for sharing target browsers and Node.js versions between front-end tools. Prior to 4.28.7, index.js retains every distinct `(queries, context)` result in cache and every parseQueries() AST in parseCache without a size cap, TTL, or eviction, allowing an attacker who can influence repeated browserslist() query values, including valid since `<year>-<month>-<day>` queries, to bypass the caller-controlled BROWSERSLIST_DISABLE_CACHE mitigation and cause linear memory growth followed by an out-of-memory process crash. This issue is fixed in version 4.28.7.
📍 영향받는 시스템
Browserslist version < 4.28.7
⚔️ 공격 벡터
공격자가 조작된 browserslist() 쿼리 값을 반복적으로 입력하여 캐시 메모리를 점유
🛡️ 대응 방법
Browserslist를 4.28.7 버전 이상으로 업데이트
🔧 검증 코드
출력된 버전 번호가 4.28.7 미만인지 확인
npm list browserslist | grep browserslist