AI 요약
크로미움 148부터 Math.tanh 함수가 운영체제별 수학 라이브러리를 사용하면서, 동일한 입력값에 대해 OS별로 다른 비트 결과를 반환하게 되었다. 이는 브라우저 핑거프린팅의 새로운 신호로 활용될 수 있으며, 리눅스(glibc), macOS(libsystem_m), 윈도우(UCRT)는 약 25%의 입력값에서 1 ULP(Unit in the Last Place) 차이를 보인다. 크롬 147 이하에서는 V8이 자체 fdlibm 포트를 사용해 OS 정보가 누출되지 않았으나, 148부터 std::tanh로 변경되면서 이 취약점이 생겼다.
핵심 포인트
Math.tanh(0.8)결과: 리눅스 0.6640367702678491, macOS 0.664036770267849, 윈도우 0.6640367702678489로 모두 다름- 크롬 148부터 V8 커밋 c1486295ae5로 인해
std::tanh사용 시작 - IEEE 754는 sin, cos, tanh의 정확한 반올림을 요구하지 않아 각 OS 라이브러리 차이 발생
- 단일
tanh호출로 OS 식별이 가능해 User-Agent 위조 탐지에 활용 가능
향후 전망
- 브라우저 핑거프린팅 방어 기술은 수학 함수 결과를 OS별로 재구현하거나 가상화하는 방향으로 발전할 것
- 크로미움 팀이 이 문제를 인지하고 패치할 가능성이 있으나, 현재로서는 명시적 해결책 없음
출처:hackernews
