my.f5.com
Open in
urlscan Pro
85.222.140.13
Public Scan
URL:
https://my.f5.com/manage/s/article/K000137353
Submission: On December 06 via api from IN — Scanned from DE
Submission: On December 06 via api from IN — Scanned from DE
Form analysis
1 forms found in the DOMPOST
<form id="fileUploadForm" enctype="multipart/form-data" method="post" target="fileUploadIframe"><input type="file" id="fileSelector" name="file" style="display: none;"><input name="filename" type="hidden"></form>
Text Content
Loading ×Sorry to interrupt CSS Error Refresh Skip to content * F5.com * DevCentral * Partners * MyF5 Home PageMyF5 Toggle showing sub menu for Support Toggle showing sub menu for My Products & Plans Toggle showing sub menu for Resources Open navigation menuHome PageMyF5 Search Sign In SearchLoading Search tips Security Advisory K000137353: BIG-IP CONFIGURATION UTILITY UNAUTHENTICATED REMOTE CODE EXECUTION VULNERABILITY CVE-2023-46747 * Download Article * Bookmark Article * Show social share buttons Published Date: Oct 26, 2023Updated Date: Nov 9, 2023 Toggle showing the products this article Evaluated products: Security Advisory Description Undisclosed requests may bypass Configuration utility authentication. (CVE-2023-46747) Impact This vulnerability may allow an unauthenticated attacker with network access to the BIG-IP system through the management port and/or self IP addresses to execute arbitrary system commands. There is no data plane exposure; this is a control plane issue only. Security Advisory Status F5 Product Development has assigned ID 1240121 and ID 1117229 (BIG-IP) to this vulnerability. This issue has been classified as CWE-288: Authentication Bypass Using an Alternate Path or Channel. To determine if your product and version have been evaluated for this vulnerability, refer to the Evaluated products box. To determine if your release is known to be vulnerable, the components or features that are affected by the vulnerability, and for information about releases, point releases, or hotfixes that address the vulnerability, refer to the following tables. You can also use iHealth to diagnose a vulnerability for BIG-IP and BIG-IQ systems. For more information about using iHealth, refer to K27404821: Using F5 iHealth to diagnose vulnerabilities. For more information about security advisory versioning, refer to K51812227: Understanding security advisory versioning. In this section * BIG-IP Next * BIG-IP and BIG-IQ * F5 Distributed Cloud Services * F5OS * NGINX * Other products BIG-IP Next Note: After a fix is introduced for a given minor branch, that fix applies to all subsequent maintenance and point releases for that branch, and no additional fixes for that branch will be listed in the table. For example, when a fix is introduced in 20.0.2, the fix also applies to 20.0.3, and all later 20.1.x releases. For more information, refer to K51812227: Understanding security advisory versioning. ProductBranchVersions known to be vulnerable1Fixes introduced inSeverityCVSSv3 scoreVulnerable component or feature BIG-IP Next (all modules) AllNoneNot applicableNot vulnerableNoneNoneBIG-IP Next Central ManagerAllNoneNot applicableNot vulnerableNoneNoneBIG-IP Next SPKAllNoneNot applicableNot vulnerableNoneNoneBIG-IP Next CNFAllNoneNot applicableNot vulnerableNoneNone 1F5 evaluates only software versions that have not yet reached the End of Technical Support (EoTS) phase of their lifecycle. For more information, refer to the Security hotfixes section of K4602: Overview of the F5 security vulnerability response policy. BIG-IP and BIG-IQ Note: After a fix is introduced for a given minor branch, that fix applies to all subsequent maintenance and point releases for that branch, and no additional fixes for that branch will be listed in the table. For example, when a fix is introduced in 14.1.2.3, the fix also applies to 14.1.2.4, and all later 14.1.x releases (14.1.3.x., 14.1.4.x). For more information, refer to K51812227: Understanding security advisory versioning. ProductBranchVersions known to be vulnerable1Fixes introduced inSeverityCVSSv3 score2Vulnerable component or featureBIG-IP (all modules)17.x17.1.0 - 17.1.1 17.1.0.3 + Hotfix-BIGIP-17.1.0.3.0.75.4-ENG3 17.1.1 + Hotfix-BIGIP-17.1.1.0.2.6-ENG3 Critical9.8Configuration utility16.x16.1.0 - 16.1.416.1.4.1 + Hotfix-BIGIP-16.1.4.1.0.50.5-ENG315.x15.1.0 - 15.1.1015.1.10.2 + Hotfix-BIGIP-15.1.10.2.0.44.2-ENG314.x14.1.0 - 14.1.514.1.5.6 + Hotfix-BIGIP-14.1.5.6.0.10.6-ENG313.x13.1.0 - 13.1.513.1.5.1 + Hotfix-BIGIP-13.1.5.1.0.20.2-ENG3BIG-IQ Centralized ManagementAllNoneNot applicableNot vulnerableNoneNone 1F5 evaluates only software versions that have not yet reached the End of Technical Support (EoTS) phase of their lifecycle. For more information, refer to the Security hotfixes section of K4602: Overview of the F5 security vulnerability response policy. 2The CVSSv3 score link takes you to a resource outside of MyF5, and it is possible that the document may be removed without our knowledge. 3F5 has fixed this issue in an engineering hotfix that is available for versions of the BIG-IP system which have not yet reached End of Software Development. Customers affected by this issue can download the engineering hotfix from the MyF5 Downloads page. After selecting your product and version from the Downloads page, scroll to the bottom of the page to locate the hotfix file. For example, to download Hotfix-BIGIP-17.1.0.3.0.75.4-ENG, select 17.1.0.3, then scroll down to select Hotfix-BIGIP-17.1.0.3.0.75.4-ENG.iso. For more information, refer to K000090258: Download F5 products from MyF5. For more information about installing engineering hotfixes, refer to K55025573: Engineering hotfix installation overview. While F5 endeavors to release the most stable code possible, engineering hotfixes do not undergo the extensive QA assessment of scheduled software releases. F5 offers engineering hotfixes with no warranty or guarantee of usability. For more information about the hotfix policy, refer to K4918: Overview of the F5 critical issue hotfix policy. F5 Distributed Cloud Services ServiceSeverityCVSSv3 scoreVulnerable component or featureF5 Distributed Cloud (all services)Not vulnerableNoneNoneF5 Silverline (all services)Not vulnerableNoneNone F5OS ProductBranchVersions known to be vulnerable1Fixes introduced inSeverityCVSSv3 scoreVulnerable component or featureF5OS-AAllNoneNot applicableNot vulnerableNoneNoneF5OS-CAllNoneNot applicableNot vulnerableNoneNone 1F5 evaluates only software versions that have not yet reached the End of Technical Support (EoTS) phase of their lifecycle. For more information, refer to the Security hotfixes section of K4602: Overview of the F5 security vulnerability response policy. NGINX ProductBranchVersions known to be vulnerable1Fixes introduced inSeverityCVSSv3 scoreVulnerable component or featureNGINX (all products)AllNoneNot applicableNot vulnerableNoneNone 1F5 evaluates only software versions that have not yet reached the End of Technical Support (EoTS) phase of their lifecycle. For more information, refer to the Security hotfixes section of K4602: Overview of the F5 security vulnerability response policy. Other products ProductBranchVersions known to be vulnerable1Fixes introduced inSeverityCVSSv3 scoreVulnerable component or featureTraffix SDCAllNoneNot applicableNot vulnerableNoneNone 1F5 evaluates only software versions that have not yet reached the End of Technical Support (EoTS) phase of their lifecycle. For more information, refer to the Security hotfixes section of K4602: Overview of the F5 security vulnerability response policy. Security Advisory Recommended Actions If you are running a version listed in the Versions known to be vulnerable column, you can eliminate this vulnerability by installing a version listed in the Fixes introduced in column. If the Fixes introduced in column does not list a version for your branch, then no update candidate currently exists for that branch and F5 recommends that you upgrade to a version with the fix (refer to the tables). If the Fixes introduced in column lists a version prior to the one you are running, in the same branch, then your version should have the fix. Mitigation For BIG-IP versions 14.1.0 and later, you can run the following script to mitigate this issue. Note: This mitigation script saves a backup of the /config/httpd/conf.d/proxy_ajp.conf and /etc/tomcat/server.xml files, creates a random secret that is used between Apache and Tomcat processes internally, then places this secret within the configuration files and restarts httpd and tomcat. If you run the script once, this mitigation persists through reboots but does not persist through upgrades and is not carried over by UCS installation (for example, after an RMA or clean installation). To reverse the changes, you can run the command mentioned in step 7 using the -u flag. Note: When you use iControl REST API to automate the deployment of this mitigation script, a known issue exists where httpd may fail to restart. For more information, including the workaround, refer to ID 775845 and K13292945: httpd failing to start after restarting the service using the iControl REST API. Important: This script must not be used on any BIG-IP version prior to 14.1.0 or it will prevent the Configuration utility from starting. Impact of procedure: Performing the following procedure has no impact on data plane traffic. 1. Download the current version of the script (mitigation-1.0.txt) and save it to the affected BIG-IP system. 2. Log in to the command line of the affected BIG-IP system as the root user. 3. With a text editor of your choice such as vi, create the md5 file, mitigation-1.0.txt.md5 in the same directory as the script using the following content: 3be777528261ff9cb58f66c5d9af494b mitigation-1.0.txt 4. Verify the integrity of the script by using the following command syntax: md5sum --check <path to script>/mitigation-1.0.txt.md5 For example: md5sum --check /root/mitigation-1.0.txt.md5 You should observe an output similar to the following: mitigation-1.0.txt: OK 5. If you have downloaded the script, rename the script to the .sh extension by using the following command syntax: mv <path to script>/mitigation-1.0.txt <path to script>/mitigation-1.0.sh For example: mv /root/mitigation-1.0.txt /root/mitigation-1.0.sh 6. Make the script executable using the chmod utility by using the following command syntax: chmod +x <path to script>/mitigation-1.0.sh && touch <path to script>/mitigation-1.0.sh For example: chmod +x /root/mitigation-1.0.sh && touch /root/mitigation-1.0.sh 7. Run the script by using the following command syntax: Important: For VIPRION, vCMP guests on VIPRION, and BIG-IP tenants on VELOS, you must run this script individually on each blade. You can do so by logging into the management IP address assigned to each blade and run it. If you did not assign a management IP address for each blade, you may have to connect to the serial console and run it. <path to script>/mitigation-1.0.sh For example: /root/mitigation-1.0.sh 8. To verify the mitigation has applied successfully, run the following command and inspect the output to ensure that both files have the relevant parameters ('secret=' in proxy_ajp.conf and 'requiredSecret=' in server.xml) and that the values match: grep -m1 -ioE '(required)?secret.*' /config/httpd/conf.d/proxy_ajp.conf /etc/tomcat/server.xml The output should look similar to the following example: /config/httpd/conf.d/proxy_ajp.conf:secret=9b81... /etc/tomcat/server.xml:requiredSecret="9b81..." Note: The values are specific to individual systems and will differ from the values in the truncated example above. Script contents: #!/bin/sh # # Copyright © 2023, F5 Networks, Inc. All rights reserved. # Version 1.0 # No part of this software may be reproduced or transmitted in any # form or by any means, electronic or mechanical, for any purpose, # without express written permission of F5 Networks, Inc. # proxy_ajp_conf="/config/httpd/conf.d/proxy_ajp.conf" tomcat_conf="/etc/tomcat/server.xml" # Backup original configuration files if [ ! -f "${proxy_ajp_conf}.f5orig" ]; then cp "${proxy_ajp_conf}" "${proxy_ajp_conf}.f5orig" fi if [ ! -f "${tomcat_conf}.f5orig" ]; then cp "${tomcat_conf}" "${tomcat_conf}.f5orig" fi usage() { echo "Usage: $0 [-h]|[-u][-r]" echo "This utility mitigates ID1378329 and restarts the apache and tomcat daemons." echo " : -h Display this help message" echo " : -u Undo the ID1378329 mitigation" exit 255 } PARSED_ARGS=$(getopt -a -n "$0" -o hru --long help,restart,undo -- "$@") VALID_ARGS=$? if [ "$VALID_ARGS" != "0" ]; then usage fi UNDO="false" eval set -- "$PARSED_ARGS" while : do case "$1" in -h | --help) usage ; shift ;; -u | --undo) UNDO="true" ; shift ;; --) shift; break ;; *) echo "Unexpected option: $1 - this should not happen."; usage ;; esac done if $UNDO; then echo "Undoing ID1378329 mitigation..." # Be very careful when editing this section. # # We use double quotes here to allow variable substitution to add the random # secret, which means we have to quote shell metacharacters that we don't want # changed. # # We remove any existing secret directive, then add the new one. This # version of sed doesn't support the '+' regex match modifier, thus the # repeated match strings and use of '*'. # PAJPSED=" /proxypassmatch/I { s/\\s\\s*secret=[0-9a-f]*\\s\\s*/ /I; s/\\s\\s*secret=[0-9a-f]*\$//I; } " sed -ci.bak "${PAJPSED}" "${proxy_ajp_conf}" # Be very careful when editing this section. # # # Here we either replace or add the requiredSecret option, we also use pipe # symbols instead of forward slashes to delimit the regular expressions, since # it includes forward slashes. This version of sed doesn't support the '+' # regex match modifier, thus the repeated match strings and use of '*'. # TOMCATSED=" /tomcatauthentication=/I { s|\\s\\s*requiredSecret=\"[0-9a-f]*\"||; } " sed -ci.bak "${TOMCATSED}" "${tomcat_conf}" else echo "Applying ID1378329 mitigation..." random_secret=$(head -c 20 /dev/random | xxd -p -c 20) # Creating random nonce # Be very careful when editing this section. # # We use double quotes here to allow variable substitution to add the random # secret, which means we have to quote shell metacharacters that we don't want # changed. # # First we remove any existing secret directive, then add the new one. This # version of sed doesn't support the '+' regex match modifier, thus the # repeated match strings and use of '*'. # PAJPSED=" /proxypassmatch/I { s/\\s\\s*secret=[0-9a-f][0-9a-f]*\\s\\s*/ /I; s/\\s\\s*secret=[0-9a-f][0-9a-f]*\$//I; s/\$/ secret=${random_secret}/; } " sed -ci.bak "${PAJPSED}" "${proxy_ajp_conf}" # Be very careful when editing this section. # # # Here we either replace or add the requiredSecret option, we also use pipe # symbols instead of forward slashes to delimit the regular expressions, since # it includes forward slashes. This version of sed doesn't support the '+' # regex match modifier, thus the repeated match strings and use of '*'. # TOMCATSED=" /tomcatauthentication=/I { s|\\s\\s*requiredSecret=\"[0-9a-f][0-9a-f]*\"| requiredSecret=\"${random_secret}\"|; s|\"false\"\\s\\s*/>|\"false\" requiredSecret=\"${random_secret}\" />|; } " sed -ci.bak "${TOMCATSED}" "${tomcat_conf}" fi echo "Restarting httpd..." bigstart restart httpd echo "Restarting tomcat..." bigstart restart tomcat echo "Done!" Until it is possible to install a fixed version, you can use the following sections as temporary mitigations. These mitigations restrict access to the Configuration utility to only trusted networks or devices, thereby limiting the attack surface. * Block Configuration utility access through self IP addresses * Block Configuration utility access through the management interface Block Configuration utility access through self IP addresses You can block all access to the Configuration utility of your BIG-IP system using self IP addresses. To do so, you can change the Port Lockdown setting to Allow None for each self IP address on the system. If you must open any ports, you should use the Allow Custom option, taking care to block access to the Configuration utility. By default, the Configuration utility listens on TCP port 443. If you modified the default port, ensure that you block access to the alternate port you configured. Note: Performing this action prevents all access to the Configuration utility and iControl REST using the self IP address. These changes may also impact other services, including breaking high availability (HA) configurations. For more information, refer to K46122561: Restrict access to the BIG-IP management interface using network firewall rules. Before you make changes to the configuration of your self IP addresses, F5 strongly recommends that you refer to the following articles: * K17333: Overview of port lockdown behavior (12.x - 17.x) * K13092: Overview of securing access to the BIG-IP system * K31003634: The Configuration utility of the Single-NIC BIG-IP Virtual Edition now defaults to TCP port 8443 * K51358480: The single-NIC BIG-IP VE may erroneously revert to the default management httpd port after a configuration reload If you must expose port 443 on your self IP addresses and want to restrict access to specific IP ranges, you may consider using the packet filtering functionality built into the BIG-IP system. For more information, refer to the following article: * K13383: Configure CIDR Network Addresses for the BIG-IP packet filter Block Configuration utility access through the management interface To mitigate this vulnerability for affected F5 products, you should restrict management access to F5 products to only trusted users and devices over a secure network. For more information about securing access to BIG-IP systems, refer to the following articles: * K13309: Restricting access to the Configuration utility by source IP address (11.x - 17.x) * K13092: Overview of securing access to the BIG-IP system * K46122561: Restrict access to the BIG-IP management interface using network firewall rules Indicators of compromise Important: This section was last updated on October 30, 2023 at 14:35 Pacific time. This information is based on the evidence F5 has seen on compromised devices, which appear to be reliable indicators. It is important to note that not all exploited systems may show the same indicators, and, indeed, a skilled attacker may be able to remove traces of their work. It is not possible to prove a device has not been compromised; when there is any uncertainty, you should consider the device compromised. For information about handling suspected compromised systems, please review K11438344: Considerations and guidance when you suspect a security compromise on a BIG-IP system. All versions F5 has observed threat actors using this vulnerability to exploit CVE-2023-46748. For indicators of compromise for CVE-2023-46748, please refer to K000137365: BIG-IP Configuration utility authenticated SQL injection vulnerability CVE-2023-46748. Acknowledgments F5 acknowledges Thomas Hendrickson and Michael Weber of Praetorian Security, Inc. for bringing this issue to our attention and following the highest standards of coordinated disclosure. RELATED CONTENT * K55025573: Engineering hotfix installation overview * K13123: Managing BIG-IP product hotfixes (11.x - 17.x) * K41942608: Overview of MyF5 security advisory articles * K12201527: Overview of Quarterly Security Notifications * K51812227: Understanding security advisory versioning * K4602: Overview of the F5 security vulnerability response policy * K4918: Overview of the F5 critical issue hotfix policy * K39757430: F5 product and services lifecycle policy index * K9502: BIG-IP hotfix and point release matrix * K48955220: Installing an OPSWAT Endpoint Security update on BIG-IP APM systems (11.4.x and later) * K000090258: Download F5 products from MyF5 * K9970: Subscribing to email notifications regarding F5 products * K9957: Creating a custom RSS feed to view new and updated documents * K44525501: Overview of BIG-IP data plane and control plane Contact Support Live chat:Chat with an Expert Have a Question? * Support and Sales › Follow Us * * * * * About F5 * Corporate Information * Newsroom * Investor Relations * Careers * Contact Information * Communication Preferences Education * Training * Certification * LearnF5 * Free Online Training F5 Sites * F5.com * DevCentral * MyF5 * Partner Central * F5 Labs Support Tasks * Read Support Policies * Create Support Case * Leave feedback [+] * About F5 * Corporate Information * Newsroom * Investor Relations * Careers * Contact Information * Communication Preferences * Education * Training * Certification * LearnF5 * Free Online Training * F5 Sites * F5.com * DevCentral * MyF5 * Partner Central * F5 Labs * Support Tasks * Read Support Policies * Create Support Case * Leave feedback [+] ©2023 F5, Inc. All rights reserved. * Policies * Privacy * Trademarks * California Privacy * Do Not Sell My Personal Information * MyF5 Terms of Use * Cookie-Präferenzen Opens in a modal window Wir respektieren Ihre Privatsphäre Um Ihnen ein optimales Erlebnis bieten zu können, verwenden wir Technologien von Drittanbietern, um die Ihnen angezeigten Inhalte zu personalisieren, und um besser zu verstehen, welche Inhalte für Sie wichtig sind. Weitere Informationen finden Sie in unserer Datenschutzerklärung. Einstellungen ändern Nein, danke Ich bin dabei Loading