Hyperlinks in terminal emulators
41–50 of 70 posts
Re: Hyperlinks in terminal emulators
#42I really think this is a security disaster waiting to happen, landing right in time for all the agentic terminal apps: printf '\e]8;;http://evil.com\e\\https://good.com\e]8;;\e\\\n' The next step would be to embedd a full javascript VM in the terminal and a CSS engine.
allow_hyperlinks ask
[1]Re: Hyperlinks in terminal emulators
#43I really think this is a security disaster waiting to happen, landing right in time for all the agentic terminal apps: printf '\e]8;;http://evil.com\e\\https://good.com\e]8;;\e\\\n' The next step would be to embedd a full javascript VM in the terminal and a CSS engine.
Re: Hyperlinks in terminal emulators
#44I really think this is a security disaster waiting to happen, landing right in time for all the agentic terminal apps: printf '\e]8;;http://evil.com\e\\https://good.com\e]8;;\e\\\n' The next step would be to embedd a full javascript VM in the terminal and a CSS engine.
What are you running in your terminal to be vulnerable to that threat model?
Re: Hyperlinks in terminal emulators
#45I really think this is a security disaster waiting to happen, landing right in time for all the agentic terminal apps: printf '\e]8;;http://evil.com\e\\https://good.com\e]8;;\e\\\n' The next step would be to embedd a full javascript VM in the terminal and a CSS engine.
https://good.comRe: Hyperlinks in terminal emulators
#46Earlier quoted context omitted.
Opening a URL should always be safe. It's a security bug if it isn't.
Yet such security bugs exist in their multitude. Plenty of internal-only systems are not locked down securely and only thing preventing mass exploitation is browsers CORS settings. But if request is originating from inside the network (as it would from a terminal emulator), then all bets are off. Granted, on its own, this should be safe. But attacks are usually composed from multiple bugs and/or weaknesses in design.…
CORS has no relation to this issue. Cross-origin means there are at least two origins, but in this case there is only one (where you're trying to navigate).
> But if request is originating from inside the network (as it would from a terminal emulator)
Why would the terminal make requests? Obviously it will dispatch the link to another program specialized in making requests to a protocol, like... a browser?
> Granted, on its own, this should be safe. But attacks are usually composed from multiple bugs and/or weaknesses in design. Hence why security folk keep talking about “defence in depth”
Every feature can be part of an exploit chain, but the "clicking a URL will always lead to the text it is under" ship has sailed 30+ years ago. If your system cannot safely handle this operation then you're in deep trouble, and I don't see how crippling every program in existence is the right solution to that.
> I actually voiced some concerns with this original hyperlink proposal several years back. In fact lots of developers and security researchers did.
Based on what you've written: you and other self-claimed "security researchers" started spamming this spec with concern trolling about hypothetical (non-existent) "security issues", then the author finally got tired and locked down comments, which were obviously intended for people interested in the feature, not those trying to sabotage it.
> Just one persons mission to dictate how everyone else’s terminal, and security model, should operate.
Nowhere does the proposal say that your terminal has to implement this. Indeed, if you have a working ANSI parser the escape sequence is ignored automatically (as the spec also explains).
Have you considered that the person trying to dictate how others' terminals should operate might be you?
Re: Hyperlinks in terminal emulators
#47> We have Plumber at home.
> [Plumber at home]...
Re: Hyperlinks in terminal emulators
#48I've found it nice to have the terminal emulator be able to match text with regexp and upon a click convert it to an external action. For example, I can click Python traceback in terminal and have Emacs go into that exact line in code, or the JIRA issue id and go to the web page. I wonder though if this is a popular feature. Tilix is under minimal maintenance at the moment, so alternatives would be good to have..
Re: Hyperlinks in terminal emulators
#49Earlier quoted context omitted.
Yet such security bugs exist in their multitude. Plenty of internal-only systems are not locked down securely and only thing preventing mass exploitation is browsers CORS settings. But if request is originating from inside the network (as it would from a terminal emulator), then all bets are off. Granted, on its own, this should be safe. But attacks are usually composed from multiple bugs and/or weaknesses in design.…
> Plenty of internal-only systems are not locked down securely and only thing preventing mass exploitation is browsers CORS settings. CORS has no relation to this issue. Cross-origin means there are at least two origins, but in this case there is only one (where you're trying to navigate). > But if request is originating from inside the network (as it would from a terminal emulator) Why would the terminal make reques…
Yes, that’s exactly my point. With websites you need two clicks to be compromised, but with a shell session you only need one.
> Why would the terminal make requests? Obviously it will dispatch the link to another program specialized in making requests to a protocol, like... a browser?
Social engineering is rife in browsers and this proposal offer almost nothing to prevent that from happening in the terminal
> Every feature can be part of an exploit chain, but the "clicking a URL will always lead to the text it is under" ship has sailed 30+ years ago. If your system cannot safely handle this operation then you're in deep trouble, and I don't see how crippling every program in existence is the right solution to that.
Again, that’s exactly my point. Terminal emulators are not designed around preventing these kinds of problems and this proposal does nothing to address that concern.
> Based on what you've written: you and other self-claimed "security researchers" started spamming this spec with concern trolling about hypothetical (non-existent) "security issues", then the author finally got tired and locked down comments, which were obviously intended for people interested in the feature, not those trying to sabotage it.
Wow, just wow. There’s taking a comment in bad faith and there’s what you’ve just done. Thanks for calling people trolls just for trying to discuss genuine security concerns.
> Nowhere does the proposal say that your terminal has to implement this. Indeed, if you have a working ANSI parser the escape sequence is ignored automatically (as the spec also explains).
Except the author of this proposed started spamming other projects asking them to implement it. How do you think this random gist became so infamous? It wasn’t stumbled upon by chance.
> Have you considered that the person trying to dictate how others' terminals should operate might be you?
This is another bad faith argument because I’m not the one pushing any proposals nor agenda here. I’m just offering some expertise.
As I said before, I have actually implemented hyperlinks in an open source terminal emulator which I contribute to. But we did it in a completely different way that ensures the terminal user has control over the links rather than an attacker.
And if other terminal maintainers want to follow this proposal verbatim then that’s their choice. I’m not stopping them. But it also doesn’t make my concerns any less valid.
Re: Hyperlinks in terminal emulators
#50Earlier quoted context omitted.
Opening links is an operating system feature that any program can use and pass a link to.
Yeah, but it’s only browsers that render hyperlinks from untrusted sources…unless you’re saying you often download random executables and then click their hyperlinks?