🇰🇷 한글 설명
Node.js 및 브라우저용 Translate 패키지 3.0.0 미만 버전에서 발생하는 캐시 포이즈닝 취약점입니다. 공격자가 translate 함수의 두 번째 변수를 제어할 수 있다면 opt.id 파라미터를 통해 캐시 키를 덮어써서 다른 사용자의 번역 결과를 조작할 수 있습니다.
💡 쉬운 설명
번역 서비스의 저장 공간을 공격자가 가짜 정보로 채워 넣는 공격입니다. 이를 통해 다른 사용자가 올바른 번역 대신 공격자가 의도한 잘못된 번역 결과를 보게 만들 수 있습니다.
🇺🇸 원문 (English)
Translate is a package that allows users to convert text to different languages on Node.js and the browser. Prior to version 3.0.0, an attacker controlling the second variable of the `translate` function is able to perform a cache poisoning attack. They can change the outcome of translation requests made by subsequent users. The `opt.id` parameter allows the overwriting of the cache key. If an attacker sets the `id` variable to the cache key that would be generated by another user, they can choose the response that user gets served. Version 3.0.0 fixes this issue.
📍 영향받는 시스템
Translate package versions prior to 3.0.0
⚔️ 공격 벡터
translate 함수의 opt.id 파라미터를 조작하여 타 사용자의 캐시 키를 덮어쓰는 방식
🛡️ 대응 방법
Translate 패키지를 3.0.0 버전 이상으로 업데이트하십시오.
🔧 검증 코드
출력된 버전이 3.0.0 미만이면 취약한 상태이며, 3.0.0 이상이면 안전합니다.
npm list translate | grep -E 'translate@'