SAP / project-foxhound

A web browser with dynamic data-flow tracking enabled in the Javascript engine and DOM, based on Mozilla Firefox (https://github.com/mozilla/gecko-dev). It can be used to identify insecure data flows or data privacy leaks in client-side web applications.
GNU General Public License v3.0
80 stars 15 forks source link

Copying tainted numbers does not propagate taint #219

Open leeN opened 3 months ago

leeN commented 3 months ago

The following piece of code works as expected:

let t = Number.tainted(42);
typeof t // number
t.taint // returns taint object
let t2 = Number(t);
typeof t2 // number
t2.taint // returns same taint object

However, if we do the following:

t = Number.tainted(42);
typeof t // number
t.taint // returns taint object
let t3 = Number(t);
typeof t3 // object
t3.taint // returns null

This does not seem like the desired behavior and might be the root cause for #218.