WWW posts

Web development, my site, server, career, programming, the world wide web, and related topics

xz backdoor

Reading this weekend about a backdoor introduced to the open source xz project. It doesn’t appear to affect my Ubuntu servers, so I had assumed it wasn’t relevant to me. However, the homebrew version on my Mac was “vulnerable”. It sounds like the exploit would only work on some versions of Linux, but if it does work on Macs, that could be bad. I do a lot of stuff on this computer, including banking, email, coding, etc. They know about it backdooring ssh, but if there’s something they don’t yet know about, it might be a problem.

I have a Fedora install as well. I haven’t checked it yet, but Fedora is usually on the bleeding edge, so if it’s on there, I’ll probably wipe and reinstall. I’ve been considering anyway. Luckily, I don’t do anything important on there.

Even if it didn’t actually do anything bad on the Mac, it may have done something. I had noticed some weeks or months ago (I can’t remember when) that running PHP on the command line was going slow. Running anything would take a minimum of about five seconds, including something simple like php -r 'echo "hello\n";'. I know when I had been making scripts in the past they hadn’t been taking long at all. I did some searches on the web for anybody mentioning something like that and couldn’t find anything. So I kinda just figured maybe it had something to do with the new opcode / whatever cacheing newer versions do or something, like it takes some initial setup that the server can reuse but not the command line. I assumed I was stuck with it and even started moving some scripts to bash partly because of it. When I downgraded xz via homebrew though, I decided to test it. time says the simple php -r line took 0.092 seconds. Nice and snappy. So maybe xz was doing some checks to see if the device was exploitable. It was in the dependency graph of PHP through curl and gd. Can’t say for sure that it just sped up though and if the xz change was what caused it.

I’m glad my scripts finally run quickly again, but hope that nothing was exploited here. I’ll keep an eye on the web to see if anything comes up about Macs being exploitable, and if so I’ll probably reinstall the OS to be safe.

Note: If you have used homewbrew to install PHP, curl, or anything else that might depend on xz, run brew update; brew upgrade to be safe. The dangers of being on the bleeding edge I guess.


Vim terminal mode config

Vim has a couple ways to run terminal commands from the editor. From ex command mode, :! will allow running a single command before breaking back to Vim, while :term will open a new terminal window within Vim, by default in a split, to run as many commands as you want. There are several settings in my vimrc that I add to make working with these terminal modes easier and nicer. I will share some of them below.

Continue reading post "Vim terminal mode config"

SSH to directory

I have been using SSH configuration a lot to make short hostname aliases for sites I SSH into frequently, but I recently figured out how to use it to change to a certain directory by default when logging in. At work, our sites each have their own user with their own site project directory. Most of the time when I log in, I want to go to the project directory instead of the default, the home directory. I cded manually each time for a long time, but decided to look up a better option, and found a config option on ServerFault.

Continue reading post "SSH to directory"

Apache PHP FPM and “Primary Script Unknown”

A while back, I wrote about dealing with the Apache / FastCGI error ‘Primary script unknown’ when trying to access non-existent PHP files. Bots often do this trying to test for vulnerabilities, and it can fill up error logs and be annoying to look through. In that post, I fixed the problem through mod_rewrite and a RewriteCond. For PHP 2.4+, there is a more broad and likely more efficient solution using the <If> directive. It will work for all virtual hosts on a server.

Continue reading post "Apache PHP FPM and “Primary Script Unknown”"

Homebrew `composer` 2.6.x failing

For some reason, the Homebrew version of composer hasn’t been working recently, either 2.6.1 or 2.6.2. So I’ve manually grabbed the phar from getcomposer.org and replaced the file it was getting. I’m running the latest MacOS and up to date Homebrew, PHP, and Composer on an Intel Macbook Air. When I would run composer, I would get an exception

Continue reading post "Homebrew `composer` 2.6.x failing"

:wq Bram Moolenaar

Sad to hear of Bram Moolenaar’s recent death. RIP. He was the creator and main developer of vim, the common and influential *NIX text editor. I encountered the editor in the early aughts from a CS professor who used it and was very quick with it. I’ve used it over the years on Linux servers, where it is one of the few command line editors always installed. It has a learning curve, but I’ve gotten comfortable with it over the years. With the death of the Atom editor, I’ve been moving toward vim as my primary editor.

Bram continued to steer the development of the editor up to its death, so it will be interesting to see where it goes without him. Some complained he kept the editor from modern features, resulting in a fork called neovim. We’ll see if vim modernizes more without Bram, if the project slows or dies without him, if neovim takes over, or if perhaps some efforts to re-merge the projects are made.