Opening http://../foo on Android Chrome crashes the browser (Warning: or worse)
bugs.chromium.org
bugs.chromium.org
The only thing you can do is uninstall the updates, which force resets its persistence, losing all of your stored data/sessions.
If you've already done that... tough luck, I guess?
What an awful bug.
I foresee a "brickrolling" trend.
You mean on Xaiomi OS's (I forget their name).
The base .apk is stored on a read-only system partition, so you can't completely get rid of it, but typically you should be able to remove all data of that app, clear its cache, uninstall any updates it downloaded (since those are stored on another partition), and also disable it.
I haven't used any OS by Xiaomi in a while, so I don't know if they changed anything about that.
Though I used to run their MIUI OS on my Samsung Galaxy (S2 or S5, I don't remember) for a while. That one was the opposite of locked down and even shipped pre-rooted, but it's been a long time.
However, sure enough, tab instances persist even across killing the app and then force stopping it.
Edit - quick googling says Xiaomi have their own browser as default / system, is that what you're referring to?
Edit: source (in Dutch): https://www.security.nl/posting/721810/Litouwse+overheid%3A+... Source in Lithuanian: https://kam.lt/lt/naujienos_874/aktualijos_875/ka_daro_isman...
You’re telling me Chrome does not have that feature where after a few failed attempts, the browser offers you to not open the websites from the previous session? Firefox has that.
Squeaky wheels getting grease, and such.
There wasn't any response or activity prior to it being marked as private.
Too late for me. Not even from intent. Chrome force stop later, it still tries to load it and immediately crashes.
On Desktop, if I want to memorize a blog post etc., I use tools such as ArchiveBox, which also prevents later inaccessibility.
To memorize pages on Desktop, there're better features available that integrate more direcly on the OS level, e.g. similar to Android symbols.. There are also self hosted link organizers with tagging feature etc.
This is really why I avoid browsing things on my phone at all, or use self-hosted progressive web apps that run in dedicated tasks.
Btw. - can someone explain why my initial comment is downvoted - Is it because my use case appears ignorant or unusually extravagant?
Amazing how even after an army of contributors and a fairly old project still has bugs as trivial and yet significant as this one. It's a regression, but even so.
Especially if the mechanism of the crash also allows for an RCE that hasn't been discovered yet. Worth equipping fuzzers with the URL as a prefix.
Edit: They reclassified it as a security defect and restricted permissions on it after my comment directly on the bug.
If this was included in malicious emails and texts, it would block the use of Chrome on Android completely and the only current fix is to clear all browser data i.e. bookmarks, passwords etc.
i used to not like updated, and just postponed them. then noticed that after a while android would just update everything silently (without my consent).
so i guess... whatever, it's a lost cause. I hate modern smartphones.
edit: correction: it effects both. Incognito tabs aren't affected.
maybe you need to be not in incognito? i didn't want to test out of it in case it actually bricks my browser
So tired of this narrative on HN.
But also there are languages which have much higher bars for safety than you seem to have imagined. Notice how WUFFS doesn't have a "Hello, world." example program because printing out Hello, World is way too dangerous to be allowed in WUFFS even on purpose.
But in Rust, something like this could happen too, if someone added a panic!, e.g. on parsing a domain name with an empty component, or failure to put the domain name in a certain (external) structure. If the URL is parsed again on start-up, the application would be bricked. Granted, it's much easier to find and solve.
As for Rust, if we’re talking about outright crashes (which on reflection I’m not sure if we actually are because of laxness in the definition of “crash”—I retract my proffered extreme surprise), panicking isn’t that (unless compiled with abort-on-panic or if a destructor panics while unwinding)—panicking is controlled and can (except for the cases already mentioned) be caught.
To be sure, you can still brick the app in the described way with persisted data triggering exceptions or panicking, but there at least can still be a difference.
In fact, a crash (segmentation fault) is an exception. In theory, the program could catch it and try to recover from it, it is just that it is a terrible thing to do because you can't be sure of anything from now one.
In fact, letting the program crash is the basis of "offensive programming". This idea opposes the idea of defensive programming, where you try to be prepared for anything and try to do something sensible. In offensive programming, you crash when things are not as expected. For example, if you ask for the 5th element of a 4 element list, in the former, you return some kind of default value, in the latter, you crash with an "out of bounds" exception, or let a watchdog restart the system.
Both approaches have their pros and cons.
It is well known that URLs are hard; nobody should ever trust their own implementation of a URL parser unless it is sufficiently tested (payload repositories exist for a reason).
(I don't do any bets thought, sorry)