on 10-Mar-2021 07:02
On March 10, 2021, F5 announced several CVEs, four of which are criticals. All messaging around the vulnerabilities is summarized and will be updated as necessary on this landing page on f5.com. The overview for all of the announced vulnerabilities (as well as the details for each, which are linked) can be found here on AskF5 . The criticals are linked below.
Even if some of the vulnerabilities aren’t trivial to exploit, not all of them have a practical mitigation. Therefore, if you have a vulnerable version the recommendation is to update TMOS as soon as possible. Pete White released an iApp to the codeshare that will display a table of the announced vulnerabilities that your specific BIG-IP is impacted by, so check that out as well.
Back in November, Emily Yale joined John and I on DevCentral Connects and one of the interesting personal tidbits she shared is that she climbed Kilimanjaro! While that’s amazing by itself, it’s also interesting that there are seven different routes all over the geography of the mountain by which you can summit. Many paths -> one goal.
The same is true for updating TMOS. Before covering the various paths you might take, a couple notes:
In this demo, Kyle Oliver covers the ease in which BIG-IQ can manage the BIG-IP updates.
This video from AskF5 shows the process as well in a little more formal presentation with a little less Jason and John!
Resources
This demo from Sebastian Maniak highlights how easy it is to update BIG-IP with Ansible F5 Modules. His playbook is on display and linked below in the resources.
Resources
Satoshi provided great guidance to users in Q&A (linked below) on how to install the update and copy over the active configuration to the new slot. This does not detail how to get TMOS onto the systems, however. That can also be done on the cli via curl, but the idea here is to glean the install and config details from the iControl REST interface and work those into a polished script in the language of your choice so you can automate the process for all your devices.
# Install TMOS curl -sku admin: https://mgmt/tm/sys/software/image \ -X POST -H "Content-type: application/json" \ -d '{"command":"install", "name":"BIGIP-13.1.0.0.0.1868.iso", "volume":"HD1.3"}' # Copy config to new slot curl -sku : https://mgmt/tm/util/bash \ -X POST -H "Content-Type: application/json" \ -d '{"command":"run", "utilCmdArgs":"-c \"cpcfg --source=HD1.2 HD1.3\""}'
As TMOS installation is a long-lived task, you’d want to verify the installation as well (endpoint in this example would be /mgmt/tm/sys/software/volume/HD1.3) by checking the version and status attributes. Some attributes from the JSON below removed for brevity.
{ "name": "HD1.3", "selfLink": "https://localhost/mgmt/tm/sys/software/volume/HD1.3?ver=15.1.0.5", "basebuild": "0.0.4", "build": "0.0.4", "product": "BIG-IP", "status": "complete", "version": "13.1.1.5", }
If you don't yet have BIG-IQ or Ansible in your environment, this might be a good option for you in the interim and shouldn’t take long to put together.
Resources
I have provided a simple iApp to show you in a table whether your device is vulnerable to the CVEs. Take a look at https://devcentral.f5.com/s/articles/CVE-2021-Checker-iApp?page=1