news.volyx.in

Since Chromium 148, Math.tanh is now fingerprintable to link underlying OS (scrapfly.dev)

430 points by joahnn_s · 46 days ago · 220 comments on HN

Article summary

The article discusses how the Math.tanh function in Chromium can be used to fingerprint the underlying operating system due to differences in the implementation of the math library across different OSes. This is because the function returns slightly different results on different platforms, allowing for identification of the OS. The issue was introduced in Chromium 148, where the V8 engine started using the host libm instead of a bundled implementation. This change allows for the identification of the OS through the Math.tanh function.

Main themes

  • Browser Fingerprinting
  • Math Library Implementation
  • Operating System Identification
  • Chromium Updates
  • Mathematical Functions
  • Floating Point Precision

What commenters say

  • The use of fixed-point arithmetic can provide better precision than floating-point arithmetic in certain cases, but it is not always the best choice due to its complexity and potential for surprising behavior.
  • Floating-point arithmetic is generally more convenient and widely supported, but it can be less precise than fixed-point arithmetic, especially in certain edge cases.
  • The implementation of mathematical functions like pow and atan2 can be challenging due to the table-maker's dilemma and the need for correct rounding, which can lead to performance issues and accuracy problems.
  • The detection of AI-generated content is a contentious issue, with some commenters criticizing the focus on identifying AI-generated content rather than evaluating the quality and relevance of the content itself.
  • The use of IEEE 754 floating-point representation can lead to precision issues and rounding errors, but it is widely supported and optimized for in modern hardware.
  • Correctly rounded mathematical functions are important for ensuring accuracy and reliability in numerical computations, but they can be difficult to implement and may have performance implications.