this post was submitted on 06 Sep 2023
303 points (99.0% liked)

Technology

59428 readers
3141 users here now

This is a most excellent place for technology news and articles.


Our Rules


  1. Follow the lemmy.world rules.
  2. Only tech related content.
  3. Be excellent to each another!
  4. Mod approved content bots can post up to 10 articles per day.
  5. Threads asking for personal tech support may be deleted.
  6. Politics threads may be removed.
  7. No memes allowed as posts, OK to post as comments.
  8. Only approved bots from the list below, to ask if your bot can be added please contact us.
  9. Check for duplicates before posting, duplicates may be removed

Approved Bots


founded 1 year ago
MODERATORS
 

Summary

  • Researchers at the University of Wisconsin–Madison have demonstrated that Chrome browser extensions can steal passwords from text input fields, even if the extension is compliant with Chrome's latest security and privacy standard, Manifest V3.

  • They created a proof-of-concept browser extension that could steal passwords and put it through the Chrome Web Store review process.

  • The attack works by exploiting the fact that extensions have full and unfettered access to the Document Object Model (DOM) of every web page you visit. The DOM is a representation of a web page in computer memory that can be accessed and changed, allowing the page to be modified on-the-fly.

  • The researchers found that most of the top 10,000 websites are vulnerable to this attack, including Google, Facebook, Gmail, Cloudflare, and Amazon.

  • They also analyzed the extensions already on the Chrome Web Store and found that 12.5% of them had the necessary permissions to exploit the password input field vulnerabilities.

  • The researchers offer two potential fixes: A "bolt on" remedy for vulnerable sites and a "built in" remedy for browsers.

  • The bolt on is a JavaScript library that can be added to websites to prevent unwanted access to password fields.

  • The built in remedy suggests changing Chrome to alert users whenever any JavaScript function accesses any password fields.

Possible Takeaways / Other Details

  • Google have improved security in the Manifest V3 standard, but it's still possible to sneak in a password stealing extension into the webstore.

  • Some/all of the standard's security improvements may have also been adopted by Microsoft Edge, and Mozilla Firefox.

  • It is important to be aware of the risks associated with using browsers' extensions. Only install extensions from trusted sources and carefully review the permissions that they request.

you are viewing a single comment's thread
view the rest of the comments
[–] pastcoma@lemmy.world 17 points 1 year ago (2 children)

I’m not sure password managers like Last Pass or 1 Password could actually function without access to the DOM.

[–] mathemachristian@lemm.ee 31 points 1 year ago (1 children)

Most extensions won't work without access to the DOM, since most extension need to interact with the webpage displayed. I mean what's the point of being a browser extension if you can't interact with the web page. The suggestion is to alert when a password field is accessed, maybe an extra permission an extension needs to access the value of a password field. Most extensions don't need to, for example "dark reader" does not need to know any input field or text node value. So if it suddenly asked for permissions to read my password that would be very suspicious.

[–] nekusoul@lemmy.nekusoul.de 8 points 1 year ago* (last edited 1 year ago) (1 children)

The problem then becomes that extensions are still in control of everything else on the website: A malicious extension could simply hide or move the input field away and then create a new one in its place.

Personally, I don't see how one could make extensions secure without severely crippling their functionality or turning it into a game of cat and mouse.

[–] mathemachristian@lemm.ee 4 points 1 year ago* (last edited 1 year ago) (1 children)

If an extension is blocked by the browser from accessing the value of any input field, text node content and recording keystrokes how can it then manipulate pages in a way that grants access to passwords?

The extension designer would have to actually create functionality which plausibly needs those permissions granted. Which would put a big dent in the "hello, if you want to monetize your extension put this code in it" type of scammers trying to gain access to that information via an extension that helps you zoom into images or whatever

[–] nekusoul@lemmy.nekusoul.de 1 points 1 year ago (1 children)

Then they could recreate their own input field by recreating their own "totally-not-an-input-field" with a canvas element and a bit of JS. Or, if that also gets blocked, just straight up redirect the user to a phishing site by replacing the login button or some other means. Plenty of people probably wouldn't notice in time.

[–] mathemachristian@lemm.ee 0 points 1 year ago (1 children)

That's a whole lot of effort compared to how they are able to phish now, which is launder their code by paying some (perhaps unsuspecting) extension developer to include an external dependency in their well-established extension.

Such effort as you're describing would be harder to pull off, easier to spot and limit the victim pool significantly all at the same time.

[–] MotoAsh@lemmy.world 4 points 1 year ago* (last edited 1 year ago)

The methods they described are very common hacking techniques once a site is compromised. They are not difficult nor more work than you'd expect, not out of the realm of normal work for a hacker with a site they can tweak.

[–] StudioLE@programming.dev 6 points 1 year ago (2 children)

They only require permission to write to the password field, they don't necessarily need to read passwords. Although it does change the work flow for some users.

[–] pastcoma@lemmy.world 5 points 1 year ago

Many password managers use a “save new” or “update” login credentials feature that watches for newly used passwords and asks if you’d like to save the credentials used.

That’s going to go away if you remove the read access. That said, maybe that’s not such a bad thing. Plenty of people will dislike losing that feature, however.

[–] XTornado@lemmy.ml 3 points 1 year ago* (last edited 1 year ago) (1 children)

And it could work how it does on Android or similar where the browser has suggestions you can select to fill the field. Originally was for accessibility but it also works for password manger suggestions or any other sutofill. The extension would offer the suggestions to the browser and only the browser would read and actually do the input.

[–] pastcoma@lemmy.world 1 points 1 year ago

I’m actually game for that idea, it would also make the browser responsible for parsing the many formats of html people use for structuring their input fields.