Looks like a case of print() debugging making it into production:<p><a href="https://github.com/gnachman/iTerm2/commit/63ec2bb0b95078a97abbb94cf28c4a42d1b67f23">https://github.com/gnachman/iTerm2/commit/63ec2bb0b95078a97a...</a>
<a href="https://github.com/gnachman/iTerm2/blame/5db0f74bf647f6d53ea33d2491f9b8e4972c2e03/OtherResources/framer.py#L28">https://github.com/gnachman/iTerm2/blame/5db0f74bf647f6d53ea...</a>
> A bug in the SSH integration feature caused input and output to be logged to a file on the remote host. This file, /tmp/framer.txt, may be readable by other users on the remote host.<p>Oof. This is nasty. Some folks may not have access to some machines that they've SSH'd into anymore where files like this may or may not exist.
I just want to sing some praises for iterm2. I've been using it for work and fun for many years now and will continue to use it and send a donation again as I did once before.
> <i>I deeply regret this mistake and will take steps to ensure it never happens again.</i><p>I always get a little... sigh-y when I read statements like these. <i>What</i> steps? I'm not even sure what I would do to ensure something like that wouldn't happen again. Build some automated tooling to run the software that exercises every single feature it has, and capture system calls to ensure that it never opens or writes to files? That sounds like a very difficult thing to do (to the point that I wouldn't even try, especially for a GUI app), but anything less doesn't feel like you can ensure it won't happen again.
I know it's largely personal preference but are there any strongly compelling reasons to use iTerm2 over stock Terminal on macOS in 2025? Despite recommendations, I've been wary of security and privacy issues much like this SSH bug.
I feel deeply for the developer who develops iTerm for relatively very little money, and already took a lot of criticism for the AI integration, far more than was warranted.<p>I am also also deeply concerned about my use of iTerm now.<p>I access HPC environments where I may have access for a short period of time. I am expected to take responsibility to clear out my data after use and don't expect there to be any data leakage. If I had been manipulating PII research data in the past year and using iTerm's SSH integration I would be in a bit of a bind and have to send some really embarrassing emails asking sysadmins to see if these logs exist, and if they belong to me, followed by disclosing data had been leaked.<p>I use some of the more advanced features but at this point wonder if I should be using any features beyond the basic, and then I may as well be using another terminal. I haven't found a cross-platform editor that feels as native on MacOS as iTerm, ghostty included.
Many years ago, I reported an issue where iTerm2 leaks sensitive search history to preference files [1]. The issue was quickly fixed. But until this day, I can still find people unintentionally leak their search history in public dotfiles repos [2].<p>[1]: <a href="https://gitlab.com/gnachman/iterm2/-/issues/8491" rel="nofollow">https://gitlab.com/gnachman/iterm2/-/issues/8491</a><p>[2]: <a href="https://github.com/search?q=NoSyncSearchHistory+path%3A*.plist&type=code">https://github.com/search?q=NoSyncSearchHistory+path%3A*.pli...</a>
I’m a bit confused by the suggestion to "Just don’t use iTerm2." The reality is that this type of issue could happen with any project, and switching tools doesn’t provide meaningful protection. If anything, incidents like this often lead to stronger security practices. It’s like the old joke about firing an engineer after a mistake, and the manager responding, "Why would I fire them? They’ve just learned a lesson they won’t forget." Based on iTerm2’s track record, it doesn’t seem like they’ve had frequent critical security issues, and I doubt they’ll repeat this mistake. If they do, then it’s fair to reassess.<p>As for the MacOS Terminal app, it might seem like a lower-risk option because it’s simpler and updates less frequently. However, being closed-source makes it impossible to audit, which brings its own risks. Ultimately, every tool has tradeoffs, and choosing the right one depends on balancing your needs with the potential risks.
iTerm2 increasingly seems too complex and bloated to me, with too many security issues. I haven't shopped for a new terminal emulator on macOS in a long time, but perhaps it's now time.<p>I should also get around to switching to tmux, now that GNU Screen seems to be stagnant...
This was only for the SSH integration, not if you just ran "ssh" in iTerm? I don't see these /tmp/framer.txt files on any of the hosts I sshed to (plain ssh).
This thread reminded me to make my annual donation to iTerm2's developer, who does a pretty amazing job keeping iTerm MacOS compliant and up to date.
> Delete /tmp/framer.txt on affected hosts.<p>Isn’t the correct fix to assume compromise and rotate all SSH keys? I imagine there will be scripts created very quickly to grab this file from any servers, so even if it is deleted soon there is no guarantee someone else has not read it.
> A bug in the SSH integration feature caused input
and output to be logged to a file on the remote
host. This file, /tmp/framer.txt, may be readable
by other users on the remote host.<p>Curious about how this happens. What does "framer" mean, here?
On the bright side this made me realize the stock terminal app has improved. I do use iTerm2 for its better rendering of text and color (and easier configuration of those things) but I don't really make use of any other features. Time to switch, perhaps.
iTerm2 is the app I spend the most time for like a decade or so.<p>I feel bad for the developer. This is embarrassing and it totally could and probably will at some point happen to the best of us.<p>So I have immediately donated and subscribed to monthly donations and I encourage everyone to do so. There should be zero doubt that the author deserves our support.
I would love to know more about how this got discovered and figured out. I can imagine some sysadmin pull their hair out, thinking they've got some infected system, but then find out it was some bug with their terminal emulator.
I would advice anyone using iTerm not to willy-nilly switch their terminal to one recommended by a random user here.<p>Terminals can have a huge attack surface and many "open-source" ones are maintained by less than trustworthy developers who very easily could inject a backdoor.<p>Sticking with time-proven projects like iTerm provides the advantage of added trust, security and basic common sense.<p>It also seems like a huge coincidence that there are a lot of green accounts here "highly" recommending all sorts of random terminal alternatives.
How does a bug like this last for so many months without being noticed? Did no one notice a weird file in /tmp and wonder where it came from? The one with their ssh session history in it?
I've used iTerm2 for as long as I've known about it, which would be maybe 10 years?<p>I don't use much of the various SSH/mux features, 'cos I don't use multiple buffers, just multiple tabs.<p>I like the scrollback and the footer and the integration with the shell, don;t care about scrolling speed very much, and it's sort of the "ain't broke, so why change".<p>I'll take a look at ghostty, but not sure it gives me much.<p>As for this security issue, it's a bug, the author found it, fixed it, announced what it was, and how to ameliorate the effects of the issue.<p>He did that in a very reasonable timeframe and has been entirely open about it.<p>The pile-on of moralists and what appear to be purists (and possibly early stage devs if they think process is the answer) is sorta pathetic.<p>This entire thread is more twitter/reddit than what I've come to expect on HN.
Not sure what the replies here are on about. This is NOT a "whoopsie, can happen to any project" bug. There was code in the project that EXPLICITLY leaked stuff into the remote host. Am I missing something?<p>Not only would switching to a different project with more eyes on it probably never do this, it would also probably never let that through PR reviews.
I always preferred alacritty which is faster and hopefully safer.<p>Tha macOS part uses the rust `objc2` crates which I find high quality and the codebase is a joy to read.
I'm confused by the comments saying "Just don't use iTerm2." The same class of issue can occur for any other project, and switching is not a very effective defense against it.<p>If anything, having an embarrassing issue like this is probably going to improve the iTerm2 project's security posture in the medium term. It's like that joke about firing the engineer who caused the incident, and the manager who retorts, "Why would I fire them? They just learned the hard way never to make this mistake again." (I'm paraphrasing.) I don't think that iTerm2 has had a notably high rate of critical security issues, and I suspect they won't make this class of mistake twice. (And if they do - then I will re-evaluate.)<p>I suppose intuitively I would think that using the default MacOS Terminal app is a bit lower-risk than using iTerm2 or any other open source terminal emulator, as Terminal is a rather sparse piece of Apple-provided software with a low pace of change. But it's also closed source and impossible to audit, so there are tradeoffs there too.
Looking at the replies here, I am not even sure how to react, it seems this community overall is going into a sad direction that just blames instead of trying to think of solutions.<p>Most of them are just entitled and aggressive for absolutely no reason.<p>It's perfectly fine to want to switch, or try something else, but to think other projects couldn't have issues is just naive to say it gently.
I'm done with iTerm2.<p>This was a great terminal when it was basically Terminal.app + missing features but over the past years it has grown into the proveribal "Kitchen Sink" and now does SO MANY things that I just don't care about.<p>iTerm2 has become a huge app with many many knobs and levers and all kinds of functionality and integrations. I am not surprised at all that (security) bugs are found. More code, features, integrations means more potential for security issues.<p>I switched to Ghostty, yes which had a security issue last week!, but at least it is a pretty minimal app with so far no intent to meet iTerm2 in terms of functionality.