Top
Best
New

Posted by danpinto 23 hours ago

We found a stable Firefox identifier linking all your private Tor identities(fingerprint.com)
816 points | 236 commentspage 3
VladVladikoff 14 hours ago|
What are these databases not scoped to origin of creation like cookies?
AgentME 14 hours ago|
They are. The leak is that if a webpage you visit creates several databases with certain names, the order is random but stays the same within the same browser session.
heavyset_go 14 hours ago||
There are others that Cloudflare and friends use for fingerprinting.
wolvoleo 18 hours ago||
Tails (without persistent storage) will mitigate this though. I'm not too concerned.
wlonkly 17 hours ago|
I'm not sure it will. The problem in Tor here is that the ordering persists beyond "New Identity". It does not persist between browser restarts.
wolvoleo 15 hours ago||
But that's the key thing about tails. You start it fresh every time from a clean usb stick or iso image.

It's more than a browser restart, it's a complete system wipe every time.

Tails is made on the premise that exactly this kind of trick will occur. Sometimes even persisting between browser restart. For that reason even the persistent storage is very limited. But that's optional and cautioned against for maximum anonymity.

What would be worrying with tails would be if there was some way for some hardware identifier to be exposed. Like a serial number or MAC address. But this kind of thing is exactly what it's made to protect against.

keepamovin 7 hours ago||
Nice, yes, a fresh Tails restart would definitely teardown the Fox process. And I think if you're disciplined, then purely ephemeral environments are the best mitigation for process-level state leaks like this IndexedDB ordering bug.

For those who want an ephemeral setup but prefer the Chromium engine over Firefox, you can achieve a similar "destroy after use" workflow using BrowserBox. It has a tor-run function that connects Chrome to a Tor SOCKS proxy and wraps all auxiliary network calls over torsocks.

You can easily spin up a purely ephemeral session using a GitHub action [0] so that absolutely no state persists once you close it. As a bonus, you can also run the BrowserBox instance itself as an onion hidden service while browsing over Tor.

[0]: https://github.com/marketplace/actions/browserbox

wolvoleo 6 hours ago||
Eh but that's a commercial tool. They don't even seem to have a free community version. I wouldn't pay for that. And prefer Firefox anyway.

For remote browser tools I use neko https://github.com/m1k1o/neko

But with Tor I like to have more safeguards. So I prefer to run tails in an isolated environment.

keepamovin 6 hours ago||
You're right that BrowserBox is a commercial product and there's no free tier. Honestly, the reality of running remote browser infra and development is that a free version just gets instantly hammered by botnets, scrapers, and abuse. Keeping it paid is the only way to be sustainable.

I see Neko brought up a lot, but honestly when I tried it a couple years ago it felt pretty clunky. It seems designed more for anime watch parties than serious security or remote isolation, IMO.

I totally get the Tails/Firefox preference, tho. If you want absolute baremetal isolation on your own hardware and have the discipline for it, a fresh Tails USB is definitely the right move. BrowserBox is just a different architecture -- it's mainly for when you specifically want an ephemeral Chromium setup on ... well ... anything, need some policy controls or programmability. And don't want to fiddle with config yourself.

wolvoleo 5 hours ago||
> Honestly, the reality of running remote browser infra and development is that a free version just gets instantly hammered by botnets, scrapers, and abuse. Keeping it paid is the only way to be sustainable.

Ah but I'd want to run it myself anyway. I wouldn't want it hosted. Especially for browsing, I don't want someone else's systems looking over my shoulder.

I avoid cloud stuff as much as possible in my personal life. When you mentioned github actions I thought it was something you could self-host too, I didn't realise it was a service only. I was looking for a docker or something but as it's not free and (less importantly) foss it won't work for me.

And yes neko is not a polished corporate solution, but it works for me as a home user. It's very flexible to build other stuff with. I have several instances here in different environments (and I don't expose them to the clear internet)

But for work yeah I know there's different options, at work we have zscaler remote browser.

keepamovin 4 hours ago||
Totally, I get that. That's why BrowserBox is also self-hosted, and yes, has a Docker image, too! Not free nor foss, tho. But I do try to be flexible.

As to cloud - indeed, why would you want to trust a cloud provider with sensitive internal browsing? Also, providing a SaaS is a hassle, but I feel I must do it serve that side and enable those uses, some of which are cool.

wolvoleo 3 hours ago||
Ohh I didn't realise that it's your product, sorry. It sounds interesting but I'm only a home user (in Europe with not much budget). I just use remote browsers now for navigating the complex patchwork of blocks in the EU. Some sites are blocked in holland, others in spain, etc.
ranger_danger 16 hours ago||
You can also fingerprint browsers profile-wide across sessions without any JS, CSS or even HTML, using the favicon: https://github.com/jonasstrehle/supercookie
snailmailman 15 hours ago||
I think most browsers have patched this out? i didnt do super concrete tests, but at least on my machine their demo is failing to fingerprint me across private browsing/incognito sessions as they claim. Tested in firefox and edge.
ranger_danger 14 hours ago||
Not sure about Chromium-based browsers, but the author of this paper on the technique:

https://www.ndss-symposium.org/wp-content/uploads/ndss2021_1...

Says that Firefox has a bug that prevents favicons from being loaded from cache, which inadvertently protects against this technique. They filed a bug report on it in 2020 but nothing has happened with it yet: https://bugzilla.mozilla.org/show_bug.cgi?id=1618257

zzo38computer 13 hours ago||
Some users disable favicons; I am one of them (although that is main because I do not use them, rather than due to that).
anthk 21 hours ago||
The best for Tor would just be Links2/Links+ with the socks4a proxy set to 127.0.0.1:9050, enforcing all connection thru a proxy in the settings (mark the checkbox) and disabling cookies altogether.
angry_octet 16 hours ago||
The best is probably tor in a VM, chromium in a separate VM, javascript disabled, on a private virtual network, with a egress firewall (not just guest VM firewalls, but enable those too) that only allows traffic from a specific origin port on the tor machine. You would also want the VM to spoof the processor features and unique IDs. System time drift/offset remains a vector which is hard to deal with.

Dump the rendered window pixels out to a simple viewer. Mouse movement is still a pain to deal with, but I would default to spoofing it as moving between clicks, with some image parsing logic to identify menu traversal.

Then it should reboot the browser process regularly.

I've been waiting for someone to make a packaged 'VPC in a box' incorporating networking and linked VMs.

keepamovin 7 hours ago|||
Your idea of "dumping the rendered window pixels out to a simple viewer" with Chromium is essentially Remote Browser Isolation (RBI). If you're looking for a packaged way to do this, BrowserBox does exactly this and has a tor-run function built-in, which:

connects Chrome to a Tor SOCKS proxy and wraps all other browsing-related network calls over torsocks. It prevents local fingerprinting leaks (like this IndexedDB ordering bug) because the browser isn't running locally at all. You can host the BrowserBox instance as an onion hidden service, use it to browse over Tor, or both.

If you want to try an ephemeral "VPC in a box" style setup where the environment is destroyed after you're done, you can easily spin it up using this new GitHub action: https://github.com/marketplace/actions/browserbox (but you need a license key, obtainable at https://browserbox.io)

This is my attempt to make it easy to spin up bbx on ephemeral infrastructure that's mostly free (GitHub Actions runners are perfect).

angry_octet 5 hours ago||
That's great, I'll give it a try.
anthk 10 hours ago|||
Links can force to pass all connections to a proxy, so a FW might be redundant. Forget almost mouse, Links can be render the page either to plain X11 or a terminal.
angry_octet 5 hours ago||
I'm assuming the browser is going to be compromised at some point, for example by getting it to retrieve something without using the socks proxy.
fc417fc802 14 hours ago|||
> enforcing all connection thru a proxy in the settings (mark the checkbox)

Just use a network namespace individual pieces of software are way too easy to misconfigure.

anthk 10 hours ago||
Links litteraly put your a graphical (X11) or terminal based checkbox to enable that to enforce everything through the proxy with the settings menu. Not too easy. If you are going to use Tor you shouldn't be just using Tor Browser by default neither if it enables some JS options. Firefox' base is too huge to configure so nothing ever leaks. There are too many components. A/V, WebGL, telemetry, WASM, WebRTC...
sixothree 20 hours ago||
Would whonix fit that bill?
fsflover 22 hours ago||
It seems Qubes OS and Qubes-Whonix are not affected.
handedness 17 hours ago||
> It seems Qubes OS and Qubes-Whonix are not affected.

This is dangerously incomplete and bad advice.

Qubes OS does not work the way you seem to think it does.

Creating a new identity in the Tor Browser inside a disposable VM does not automatically stop that VM and start a new disposable VM. That initial disposable VM launches the new identity from the existing process and therefore remains vulnerable, the same as any bare metal computer running Tor Browser would.

Virtualization is not magic.

A Qubes OS user needs to spin up a new disposable Whonix VM to sidestep this attack. Creating a new identity alone is ineffective in this threat model.

If you care about these projects as much as you say you do, please stop giving harmful advice. You do it in various places on the Internet and in every thread which gives you half a chance to do so, and these projects would be better off if you either took any of the extensive well-reasoned correction many people offer you, or opted to stop making such claims. The former would be ideal, the latter still vastly preferable to the existing state of affairs.

hrimfaxi 21 hours ago|||
How so? If you kept a disposable VM open and just created new identities in tor browser, how does Qubes mitigate the threat here?
handedness 17 hours ago|||
I believe you are correct, and that this poses a significant risk for people who don't properly understand the underlying concepts.

A Qubes OS user needs to start a new disposable Whonix workstation VM to sidestep this attack, NOT create a new identity in the same disposable VM's browser, which is exactly what this attack targets.

fsflover 21 hours ago|||
On Qubes, you do not create a new identity in the same VM. This would go against the Qubes approach to security/privacy. Using separate VMs for independent tasks is the whole point of using Qubes.
handedness 18 hours ago||
> On Qubes, you do not create a new identity in the same VM. This would go against the Qubes approach to security/privacy. Using separate VMs for independent tasks is the whole point of using Qubes.

This is technically incorrect information and could get people in trouble if followed literally.

On Qubes OS, if a user creates a new identity inside a Whonix workstation disposable VM via the browser's new identity functionality, the new identity spawns within the same disposable VM. I just tested this on Qubes OS 4.3.

That, I assume would expose one to OP's vulnerability, as its still running in the same VM. I would be glad to learn that I'm incorrect in my unverified assumption.

Even Qubes OS users still need to be mindful to launch new disposable VM when keeping identities separate to sidestep this attack.

fsflover 9 hours ago||
You are right, and I am saying exactly the same thing. You seem to misunderstand that Qubes saves you whenever you use it as designed by its security approach. To benefit from Qubes security, you have to use virtualization to compartmentalize your tasks. Only virtualization is a guarantee of security. Everything running in the same domain is assumed to be not isolated, and a compromise would affect everything in it. Even root access has no password by default in VMs. So what you're saying is obvious to any Qubes user. This is why I didn't mention it. (But I should have indeed.)

By you reasoning, Qubes doesn't provide more protection than the underlying operating systems. I've seen this myth on HN multiple times.

handedness 1 hour ago||
This is some kind of technological No True Scotsman you keep doing.

Also, please stop grossly misreading the comments of others. You consistently do it to numerous people here.

2ndorderthought 21 hours ago|||
In the last ten years has qubes moved on to support more hardware? Every 4 years I would try to use it only to find it didn't support any of my hardware.
handedness 20 hours ago|||
Qubes OS hardware support, while still far from perfect, is vastly better than it was ten years ago.

Joanna Rutkowska's understandable preference for older kernels had its advantages, but the current team is much more likely to ship somewhat newer kernels and I've been surprised by what hardware 4.3 has worked well on.

Beyond that, I'm currently running a kernel from late Feb/early Mar (6.19.5).

Driver support can still be an issue, and a Wi-Fi card that doesn't play nice with Linux in general is doing to be no different on Qubes OS.

Aachen 21 hours ago||||
We buy off the shelf laptops, not sure anyone ever checked that it can run Qubes specifically before trying to install it (I'm sure of at least one person: myself). Doesn't just about any x64 machine with hardware where drivers are available in standard kernels also work with Qubes? What have you bought that's not supported?
fsflover 21 hours ago||
Actually, it should work indeed, unless it lacks some Linux drivers or VT-d.
hrimfaxi 20 hours ago||||
No problems on framework laptop that I've run into at least.
orbital-decay 21 hours ago||||
Most hardware (especially GPUs) is hard to virtualize in a secure manner, which is the entire point of Qubes. People who use it typically buy compatible hardware.
fsflover 20 hours ago||
I would expect that most Qubes users (including myself) do not virtualize GPUs and use the CPU to render graphics outside of dom0.
fsflover 21 hours ago|||
Tested hardware can be found here https://qubes-os.org/hcl. New hardware is being constantly added. If you plan to switch to Qubes, consider buying something from that list or, better, certified, or community-recommended hardware linked there.
ranger_danger 21 hours ago||
Source?
fsflover 21 hours ago||
Different VMs result in different identifiers.
handedness 17 hours ago||
Creating a new identity in the browser in a disposable VM does not start a new disposable VM.
fsflover 9 hours ago||
I never said that. I only assumed that a user followed the docs when using Qubes-Whonix.
handedness 1 hour ago||
A dangerous assumption for someone who styles himself as the introducer of Qubes OS to new audiences.

The saying about assumptions is as true as ever, unfortunately for both of us.

immanuwell 9 hours ago||
[flagged]
LoganDark 21 hours ago||
> For developers, this is a useful reminder that privacy bugs do not always come from direct access to identifying data. Sometimes they come from deterministic exposure of internal implementation details.

> For security and product stakeholders, the key point is simple: even an API that appears harmless can become a cross-site tracking vector if it leaks stable process-level state.

This reads almost LLM-ish. The article on the whole does not appear so, but parts of it do.

shevy-java 21 hours ago|
Well that sucks. I guess in the long run we need a new engine and different approach. Someone should call the OpenBSD guys to come up with working ideas here.
giancarlostoro 21 hours ago||
> Mozilla has quickly released the fix in Firefox 150 and ESR 140.10.0, and the patch is tracked in Mozilla Bug 2024220.

Did you even read the article at all? Ah my children did bad in school, time to replace them with new children and a different spouse. This is what you're suggesting essentially. A browser is not just something you simply make out of thin air. There's decades of nuance to browser engines, and I'm only thinking of the HTML nuances, not the CSS or JS nuances.

anthk 21 hours ago||
Given the dangers of JS and WASM they could just fork Netsurf and enhance the CSS3 support. If you are a journalist, running Tor with JS and tons of modern web tech enable makes you a bright white spot in a sea of darkness.
fsflover 21 hours ago||
Here you go: https://qubes-os.org.
Barbing 20 hours ago|||
>Why Qubes OS?

>Physical isolation is a given safeguard that the digital world lacks

…

>In our digital lives, the situation is quite different: All of our activities typically happen on a single device. This causes us to worry about whether it’s safe to click on a link or install an app, since being hacked imperils our entire digital existence.

>Qubes eliminates this concern by allowing us to divide a device into many compartments, much as we divide a physical building into many rooms. …

Sold

https://doc.qubes-os.org/en/latest/introduction/intro.html

handedness 18 hours ago||
Qubes OS is a great solution for this threat model. By my (admittedly cursory) understanding of this attack, one would have to chain the attack to escalate to dom0 to get around it.

Having said that, fsflover exhibits a poor grasp of how this stuff works and all should be aware that even in Qubes OS, one would need to spawn new disposable VMs for each identity; relying on the Tor Browser's new identity creation within the same disposable VM would be little different from running Tor Browser on a traditional OS.

fsflover 9 hours ago||
> one would need to spawn new disposable VMs for each identity

This is by design how everyone should always be using Qubes OS for any task, according to its documentation and approach to security.

> relying on the Tor Browser's new identity creation within the same disposable VM would be little different from running Tor Browser on a traditional OS

Yes, if you use a single VM on Qubes OS for everything, then all security you get is from the OS running in this VM. This is not how you use Qubes, https://doc.qubes-os.org/en/r4.3/introduction/faq.html#how-d...

I run Qubes as a daily driver according to the docs, and my workflow was not vulnerable to the discussed attack.

handedness 1 hour ago||
Again, this is some kind of technological No True Scotsman you keep doing.

Yet again, please stop grossly misreading the comments of others. You consistently do it to numerous people here.

handedness 17 hours ago|||
You should note that improperly using Qubes OS, creating a New Identity inside of Tor Browser, even in a disposable Whonix workstation VM, would leave one vulnerable to this.

A user would have to manually start a new disposable VM for each identity.

fsflover 9 hours ago||
https://www.whonix.org/wiki/Multiple_Whonix-Workstation#Mult...