So yeah, um, this is not okay. It is not discoverable and could easily leak sensitive information. Auth credentials even, seriously? Also Chrome does this too. And it is preserved across `mv` to another filesystem.https://twitter.com/gynvael/status/1077671412847046657 …
-
Show this thread
-
Replying to @marcan42
not that having a password in the URL would be a good security design anyway
1 reply 0 retweets 4 likes -
Replying to @Arisotura
This is how HTTP Basic authentication works. It's part of the HTTP URI standard. And wget is smart enough to hide the password when showing its messages on stderr, but then goes ahead and dumps it in the xattr verbatim.
2 replies 1 retweet 10 likes -
Replying to @marcan42
You don’t need to support credentials in URLs in order to support basic auth. The credentials are placed in header fields in the HTTP get request.
1 reply 0 retweets 0 likes -
Replying to @mathew
Credentials in a URI is one (perhaps the only?) standard way for supplying the contents of that header field that is cross-application.
2 replies 0 retweets 0 likes -
Replying to @marcan42
Microsoft disabled it in IE for security reasons, so it wasn’t all that cross-application. A standard rule of web development is never to put anything confidential in the URL because URLs leak all over the place. Browser history, for example.
1 reply 0 retweets 1 like -
Replying to @mathew
The *point* of putting confidential information in the URL is to make it portable. So you can paste the URL into another app and it'll work. Yes, it's a tradeoff. But I don't expect the browser to deliberately leak them as non-discoverable xattrs on files.
2 replies 0 retweets 0 likes -
Replying to @marcan42
RFC 3986 section 7.5: "URI producers should not provide a URI that contains a username or password that is intended to be secret. URIs are frequently displayed by browsers, stored in clear text bookmarks, and logged by user agent history and intermediary applications (proxies)."
2 replies 0 retweets 0 likes
Again, the whole *point* is embedding the token or credentials in the URI *so that it is portable*. So that I can shove it at *any* application on *any* device and it will work. There is by definition no other way of doing that. This is a conscious design choice.
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.
$ getfattr -d -m - test
user.xdg.origin.url="https://user:passwd@gynvael.coldwind.pl/"