Diagnosing & Treating Bash "Shellshock"

OS X is a descendant of a long lineage of UNIX operating systems, from which it inherits its incredible stability and enhanced security. However, the past two weeks have uncovered numerous bugs in a core piece of software relied on by many UNIX operating systems, OS X included: bash (Bourne-again shell). It turns out that these bugs have been very long standing and can be exploited in numerous ways to provide unchecked access to a computer (in some cases remotely) with an afflicted version of bash installed. Due to the surprise and scope of this vulnerability, many have dubbed it “Shellshock”, in reference to the combat fatigue experienced by soldiers, but it’s really not a fair comparison to the effects of war.

A “shell” is a program that interprets and acts on textual commands either entered directly by a user at a terminal (or using a virtual terminal like the Terminal app found in /Applications/Utilities on OS X) or from a file containing one or more commands to be run automatically (sort of like a player piano, if that’s even a useful analogy anymore.) Bash is a very common shell program and is the default on many UNIX operating systems, including OS X (as of Mac OS X 10.3 Panther). If you’ve ever opened up the Terminal app and run a command in the last decade, you’ve used bash.

I personally write a fair number of scripts in the bash language to automate various processes on my computers and servers, primarily because it so ubiquitous. It may be partly because I’m a bit of a masochist, but—as a server admin—I also find it helps me perform tasks more efficiently when working in Terminal since it is the default. Needless to say I immediately started investigating the bugs, the attacks, and testing OS X workstations and servers.

Fortunately, without very specific custom configuration, OS X is not vulnerable to remote attacks through the afflicted version of bash, as echoed in the following statement from Apple (given to Jim Dalrymple of The Loop):

The vast majority of OS X users are not at risk to recently reported bash vulnerabilities. […] With OS X, systems are safe by default and not exposed to remote exploits of bash unless users configure advanced UNIX services.

None of the OS X 10.6 Snow Leopard through OS X 10.9 Mavericks systems I tested were vulnerable to remote attacks, however, all versions were susceptible to local attacks. The bugs are such that malicious commands can be inserted into “environment variables” (just what they sound like, data that exists in the environment in which individual shell scripts are run and therefore can be accessed by many scripts) and will be automatically executed upon any bash command or script being run. Not good. Since there are multiple bugs, there are different ways to test for each, but I find running the ‘bashcheck’ script to be very convenient way to test for all of them at once.

The bash developers and community have worked feverishly to investigate and fix these bugs. Apple has released “OS X bash Update 1.0” which includes fixes for the initial pair of bugs, but it unfortunately does not address subsequent bugs. As a further inconvenience, Apple does not provide this update via Software Update or the App Store, so you must download & install the appropriate update for your version of OS X:

OS X bash Update 1.0 – OS X Lion (10.7)
OS X bash Update 1.0 – OS X Mountain Lion (10.8)
OS X bash Update 1.0 – OS X Mavericks (10.9)

For those of you running Mac OS X 10.4 Tiger through 10.6 Snow Leopard on much older Macs, the developers of TenFourFox (an open-source version of the Firefox web browser specifically for older PPC & Intel Macs), provide a download along with detailed instructions to install a version of bash that fixes all the known vulnerabilities at this time. It does require command line experience, so is not for the faint of heart. The updated version provided by the TenFourFox team can also be used on OS X 10.7 Lion through 10.9 Mavericks and actually installs the very latest 4.3.x version of bash as opposed to the older 3.2.x version that Apple includes by default (and provided the partial fix for). This newer version of bash also has some benefits that programmers might enjoy, but it comes at the risk of possibly being downgraded by a future OS X update from Apple.

If you never use the Terminal app, I’d suggest you at least apply the appropriate version of “OS X bash Update 1.0” and any future updates that Apple might release to fix the additional vulnerabilities. For those of you who use Terminal with any frequency, you’ll want to proceed with caution and weigh the pros & cons of relying on Apple’s partial update or manually updating to the latest version of bash for your particular use.

Similar Posts

  • My Thoughts on the AppleTV

    When Steve Jobs announced the new AppleTV on September 1st, 2010 I looked at my wife and said “My first free $100 is…

  • App Review: Tetris Blitz

    2014 marks the 30th anniversary of the most important technological development of all time: Tetris. There are probably many of you out there that will insist that the Macintosh computer was the most important tech release of 1984, and I will grant that it is a close second, but I am still standing behind the classic tile-matching puzzle video game.

    For those of you who don’t know, Tetris is a very simple game in which any of seven different blocks, which are every possible combination of four smaller square blocks that have adjoining sides, fall from above and your job is to move them side-to-side and/or rotate them in order to complete horizontal lines which disappear when completed. The ultimate move is to leave only one vertical line incomplete and drop the “line” piece in to complete four horizontal lines at once. This is a Tetris and you will be rewarded with big points, flashing graphics, sound effects, and the satisfaction of a job well done.

    Tetris was originally developed by Alexey Pajitnov in the Soviet Union, and was the first video game exported from the USSR to the US. Its popularity skyrocketed when a version was released for the Nintendo GameBoy in 1989, and versions have since been released for just about every console, operating system, personal electronic device, and has even been played by using the windows in a large building as the blocks.

    While the 8-bit NES version will always be my favorite, I have been playing a new version on my iPhone: “*Tetris Blitz by Electronic Arts.*”:https://itunes.apple.com/us/app/tetris-blitz/id632827808?mt=8&at=11lb7k This version takes the classic gameplay and condenses it into a two-minute speed round in which the goal is to score maximum points. They have added a number of power-up blocks which trigger different actions, such as lasers that burn up several lines for you or masses of blocks that drop all at once. You can play in single player mode, head-to-head against strangers or your Facebook friends, as well as in special tournaments which often have different rules or game mechanics for added variety. This app is free, but employs what has come to be known as the freemium model, which means that there are a fair number of in-app ads and in-app purchases that are available. If you can learn to ignore these, this app is a fun addition to the Tetris family and only -wastes- uses two minutes at a time.

    The best part? Tetris is good for you! According to research, playing half-an-hour a day for three months boosts general cognitive functions such as critical thinking, reasoning, language and processing and increases cerebral cortex thickness. It has also been shown to be a potential therapy for preventing PTSD as well as a way to help quit smoking. “*See here for more information.*”:http://en.wikipedia.org/wiki/Tetris#Effect_of_Tetris_on_the_brain

    “*Download Tetris Blitz for iOS FREE here!*”:https://itunes.apple.com/us/app/tetris-blitz/id632827808?mt=8&at=11lb7k

  • Bouncing Lions

    I love Lion. So far it is my favorite iteration of Mac OS X, but it does have some annoying features. In my internet wanderings yesterday I came across an article with instructions on how to get rid of the rubber-band effect which occurs when you scroll to the very bottom or top of a page. This effect will make the page scroll a little bit past the end point then bounce back. It’s a nice little bit of eye-candy, but not really necessary.

    You can easily turn this effect off by entering a simple Terminal command (which I’ll list below) and then press “enter”. As always, do this at your own risk. Mucking about in Terminal can cause irreparable harm to your OS if you do something you shouldn’t. Make sure you have a good backup before you make any changes like this to your system. Here’s the text you need to enter:

    defaults write -g NSScrollViewRubberbanding -int 0

    You can revert to the original setting by entering the following and then press enter:

    defaults delete -g NSScrollViewRubberbanding

    You’ll need to relaunch any applications that display the rubber-banding in order for this to take effect. Unfortunately, it will not affect Safari. Should I find a way to get rid of the rubber-band in Safari, I’ll update this article.

    You can read the original article here.

  • Electronic Signing Made Easy

    I was at a customer’s office the other day helping to set up their new Mac system. It was a busy construction company and they needed help getting wireless scanning operational. I noticed that they were using Adobe Reader for their PDF files, so I introduced them to “*Preview*”:https://support.apple.com/en-us/HT201740. Once I set the Finder to open PDF files with Preview instead of Reader, I showed them how to access the scanner to scan documents right from Preview.

    As I had them practice this, I noticed that much of their scanning needs were for documents that they would print out, sign, scan and then email to clients. When I showed them how to use the “signature” function in Preview they immediately saw the value and time saved. So, I know many of you already know how to use this tool, but I thought I would go over it so you too can use your electronic signature.

    Preview is used to view and edit PDFs and images, import images from a camera, import documents and images from a scanner, add pages to a PDF and also to take screen shots. When you have a PDF that needs your signature, the old way of doing this would be to print out the PDF, sign it, scan it and send it back. With Preview you can skip some of that work. You can capture your signature using your trackpad or better yet, using your camera on your Mac.

    ! Annotate > Signature > Manage Signatures*. When you select *Create Signature* you have a choice of trackpad or camera. While signing on your trackpad is okay, I prefer the camera method. Here you take a white piece of paper and sign it. Then click on *Camera* as the means of capturing your signature and hold up that piece of paper to the camera on your Mac. Once you align the signature on the blue line you can hit *Done* and your signature is stored. If you don’t like the first try, click *Clear* and do over.

    To add your signature to a PDF document click on the *Sign* button !http://blog.smalldog.com/images/4295.png! or use the path *Tools > Annotate > Signature* to select the signature. Once it has been placed on the document you can drag it to where you want it, then use the handles to adjust its size. Save the document and you can include it in an email with your signature. Remember that the *Save As* command is sort of hidden now but to get to it simply hold down the *Option key* when you select *File.*

  • Keeping Tabs on Friends & Family

    Sometimes it’s important for loved ones and friends to know your location. Whether it is for safety reasons or just because you just…

  • El Capitan

    As I mentioned I have been using the beta version of Mac OS X 10.11 for some weeks and I thought, now that the public beta is released, that it might be a good time to review what’s new in El Capitan. I am going to do this by highlighting a few of the features that I already use and have become such a part of my Mac experience that they don’t seem new anymore.

    Shut up!

    What is more annoying than following a link to a web site and suddenly being bombarded with some automatically started video blasting audio? If you are like me, you may have several tabs open in Safari and finding that annoying one has been a pain. Well with El Capitan it is simple. When one of those tabs has audio, the tab shows the audio button and you can click on it to mute the audio. The address bar also has an audio icon where you can mute all or select which audio stream to mute or listen to.

    Notable

    The Notes app is so improved that I am actually using it more extensively now. Most importantly, a note I create on my iPhone is available on my Mac or iPad. Not only that but the things I can put into my notes are actually useful. I can add a photo, a URL, a map location or even a video to a note and it is on all my devices. Checklists, websites, ideas for the next Kibbles & Bytes and directions can all be saved. As I am planning my trip out west and find interesting places to go or places to spend the night, I can add them to my “Sturgis” note and easily use Maps to guide me to them. I think you are going to love the new Notes app.

    Spotlight

    Spotlight is just better. Who needs Google when you have Spotlight? Whether you are searching for a file on your drive, baseball statistics, transit information, weather, stocks or just some obscure trivia to settle a bet Spotlight is there for you and now you can ask that question in you own words. Like, “find that Note I wrote about Sturgis” and boom, there it is. Here’s a list of all the places you can search with Spotlight in El Capitan. You can turn these on and off as needed:

    Applications
    Bing Web Searches
    Bookmarks and History
    Calculator
    Contacts
    Conversion
    Definition
    Developer
    Documents
    Events & Reminders
    Folders
    Fonts
    Images
    Mail & Messages
    Movies
    Music
    Other
    PDF Documents
    Presentations
    Spotlight Suggestions
    Spreadsheets
    System Preferences

    Shake that Thing

    I use a dual monitor set up. I have an Apple 27-inch display and a stand for my MacBook Air that makes for one large extended desktop. Sometimes, I lose my cursor and that sometimes leads to inadvertent clicks. I never thought I would say that I would find this trick useful but with El Capitan if you jiggle your mouse or trackpad your cursor grows bigger and becomes apparent so you can get back on track.

    I’ll cover more of the new features in Kibbles & Bytes as we head towards the official release of El Capitan.