Protect yourself against future threats.
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 =========================================================================== AUSCERT External Security Bulletin Redistribution ESB-2021.3850 NGINX Ingress Controller vulnerability CVE-2021-23055 11 November 2021 =========================================================================== AusCERT Security Bulletin Summary --------------------------------- Product: NGINX Ingress Controller Publisher: F5 Networks Operating System: Network Appliance Impact/Access: Access Confidential Data -- Existing Account Resolution: Patch/Upgrade CVE Names: CVE-2021-23055 Original Bulletin: https://support.f5.com/csp/article/K01051452 - --------------------------BEGIN INCLUDED TEXT-------------------- K01051452: NGINX Ingress Controller vulnerability CVE-2021-23055 Original Publication Date: 11 Nov, 2021 Security Advisory Description The command line restriction that controls snippet use with NGINX Ingress Controller does not apply to Ingress objects. (CVE-2021-23055) Impact An attacker with privileges to deploy Ingress resources can inject configuration snippets that may allow them to gain access to secrets using the Ingress service account permissions. In NGINX Ingress Controller versions prior to 2.0.3 and 1.12.3, Ingress resources can be configured without setting the -enable-snippets command line argument. Beginning in NGINX Ingress Controller versions 2.0.3 and 1.12.3, snippet notations are handled only when the snippets capability is explicitly enabled by the Ingress operator using the -enable-snippets command line argument. For more information about using snippets in your NGINX configuration, refer to Advanced Configuration with Snippets. Security Advisory Status F5 Product Development has assigned ID KIC-592 (NGINX Ingress Controller) to this vulnerability. This issue has been classified as CWE-732: Incorrect Permission Assignment for Critical Resource (4.6). To determine if your product and version have been evaluated for this vulnerability, refer to the Applies to (see versions) 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 table. For more information about security advisory versioning, refer to K51812227: Understanding security advisory versioning. +---------------+------+-----------+----------+----------+------+-------------+ | | |Versions |Fixes | |CVSSv3|Vulnerable | |Product |Branch|known to be|introduced|Severity |score^|component or | | | |vulnerable^|in | |2 |feature | | | |1 | | | | | +---------------+------+-----------+----------+----------+------+-------------+ | |2.x |2.0.0 - |2.0.3^3 | | | | |NGINX Ingress | |2.0.2 | | | |Snippets | |Controller +------+-----------+----------+Medium |6.5 |configuration| | |1.x |1.0.0 - |1.12.3^3 | | |feature | | | |1.12.2 | | | | | +---------------+------+-----------+----------+----------+------+-------------+ |NGINX | | | | | | | |Controller |3.x |None |Not |Not |None |None | |Application | | |applicable|vulnerable| | | |Delivery Module| | | | | | | +---------------+------+-----------+----------+----------+------+-------------+ |NGINX | | | | | | | |Controller API |3.x |None |Not |Not |None |None | |Management | | |applicable|vulnerable| | | |Module | | | | | | | +---------------+------+-----------+----------+----------+------+-------------+ |NGINX Plus |R19 - |None |Not |Not |None |None | | |R25 | |applicable|vulnerable| | | +---------------+------+-----------+----------+----------+------+-------------+ |NGINX Open |1.x |None |Not |Not |None |None | |Source | | |applicable|vulnerable| | | +---------------+------+-----------+----------+----------+------+-------------+ | |1.x |None |Not | | | | |NGINX Instance | | |applicable|Not | | | |Manager +------+-----------+----------+vulnerable|None |None | | |0.x |None |Not | | | | | | | |applicable| | | | +---------------+------+-----------+----------+----------+------+-------------+ |NGINX Service |1.x |None |Not |Not |None |None | |Mesh | | |applicable|vulnerable| | | +---------------+------+-----------+----------+----------+------+-------------+ |NGINX Unit |1.x |None |Not |Not |None |None | | | | |applicable|vulnerable| | | +---------------+------+-----------+----------+----------+------+-------------+ | |16.x |None |Not | | | | | | | |applicable| | | | | +------+-----------+----------+ | | | | |15.x |None |Not | | | | | | | |applicable| | | | | +------+-----------+----------+ | | | | |14.x |None |Not | | | | |BIG-IP (all | | |applicable|Not | | | |modules) +------+-----------+----------+vulnerable|None |None | | |13.x |None |Not | | | | | | | |applicable| | | | | +------+-----------+----------+ | | | | |12.x |None |Not | | | | | | | |applicable| | | | | +------+-----------+----------+ | | | | |11.x |None |Not | | | | | | | |applicable| | | | +---------------+------+-----------+----------+----------+------+-------------+ | |8.x |None |Not | | | | | | | |applicable| | | | |BIG-IQ +------+-----------+----------+ | | | |Centralized |7.x |None |Not |Not |None |None | |Management | | |applicable|vulnerable| | | | +------+-----------+----------+ | | | | |6.x |None |Not | | | | | | | |applicable| | | | +---------------+------+-----------+----------+----------+------+-------------+ |F5OS |1.x |None |Not |Not |None |None | | | | |applicable|vulnerable| | | +---------------+------+-----------+----------+----------+------+-------------+ |Traffix SDC |5.x |None |Not |Not |None |None | | | | |applicable|vulnerable| | | +---------------+------+-----------+----------+----------+------+-------------+ ^1F5 evaluates only software versions that have not yet reached the End of Technical Support (EoTS) phase of their lifecycle. ^2The CVSSv3 score link takes you to a resource outside of AskF5, and it is possible that the document may be removed without our knowledge. ^3After updating NGINX Ingress Controller, refer to the following Recommended Actions section. 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 upgrading to a version with the fix (refer to the table). 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. After updating your NGINX Ingress Controller version to 2.0.3 or 1.12.3, you should observe the following best practice considerations: o Secure your Kubernetes environments so that only a known group of operator administrators can execute the -enable-snippets command line argument for the Ingress deployment. o Only enable snippets when necessary to achieve your configuration: Thoroughly review the documentation to be sure that your intended configuration cannot be achieved using either Ingress annotations or the VirtualServer, VirtualServerRoute, TransportServer, or ConfigMap resources. For more information about annotations, refer to Advanced Configuration with Annotations. o If you must enable snippets, ensure the following: Snippets should follow a review process like any production code. You can easily identify snippets in kubernetes-ingress by searching resources for the "-snippets" pattern. Avoid setting file system paths in snippet strings. For example: / /etc/nginx/* Avoid setting snippet strings that can perform change actions to NGINX. For example: load_module o Limit the use of snippets to the custom resources VirtualServer or TransportServer. This narrows the scope of how a snippet can be used with NGINX and any potential impact. o If you are building the kubernetes-ingress image yourself and have modified the Dockerfile to load additional modules, for example, the lua-nginx-module, be sure to review the use of these modules as they may allow additional capabilities that increase the risk to your deployment. Mitigation None Acknowledgements This issue was discovered internally by F5. Supplemental Information o K41942608: Overview of security advisory articles o K4602: Overview of the F5 security vulnerability response policy o K4918: Overview of the F5 critical issue hotfix policy o K8986: F5 software lifecycle policy o K9970: Subscribing to email notifications regarding F5 products o K9957: Creating a custom RSS feed to view new and updated documents - --------------------------END INCLUDED TEXT-------------------- You have received this e-mail bulletin as a result of your organisation's registration with AusCERT. The mailing list you are subscribed to is maintained within your organisation, so if you do not wish to continue receiving these bulletins you should contact your local IT manager. If you do not know who that is, please send an email to auscert@auscert.org.au and we will forward your request to the appropriate person. NOTE: Third Party Rights This security bulletin is provided as a service to AusCERT's members. As AusCERT did not write the document quoted above, AusCERT has had no control over its content. The decision to follow or act on information or advice contained in this security bulletin is the responsibility of each user or organisation, and should be considered in accordance with your organisation's site policies and procedures. AusCERT takes no responsibility for consequences which may arise from following or acting on information or advice contained in this security bulletin. NOTE: This is only the original release of the security bulletin. It may not be updated when updates to the original are made. If downloading at a later date, it is recommended that the bulletin is retrieved directly from the author's website to ensure that the information is still current. Contact information for the authors of the original document is included in the Security Bulletin above. If you have any questions or need further information, please contact them directly. Previous advisories and external security bulletins can be retrieved from: https://www.auscert.org.au/bulletins/ =========================================================================== Australian Computer Emergency Response Team The University of Queensland Brisbane Qld 4072 Internet Email: auscert@auscert.org.au Facsimile: (07) 3365 7031 Telephone: (07) 3365 4417 (International: +61 7 3365 4417) AusCERT personnel answer during Queensland business hours which are GMT+10:00 (AEST). On call after hours for member emergencies only. =========================================================================== -----BEGIN PGP SIGNATURE----- Comment: http://www.auscert.org.au/render.html?it=1967 iQIVAwUBYYyQneNLKJtyKPYoAQj9NQ/+MurTx88B9NS5KD3WlPrWv9yu7UTOwKHa W20nmK3bN4oL5OoExGUsXiojSrERQYJOOWfpamphfyUaMzSlOCv0NIm8Fl/ajX1x 0cHRjpGsKiWfTsTsXXeDgchf0mIeWj2l1APvM6pSv2zQ35NfTIDiaeBrZ9JfqPkQ cscW+SuvrtMwJAWHRRWeVSlop3iehSFuZ+yiF0g2SyBrMQYxMhbWyglYZhE8QN7u 0J2TTr9fJNGBeXth/lbR6uOlSNhmnMkToFdjK3N3MCKXDAWMhBHZZL6qvrA+HGYT z5Fo2AY76iuIKw6/yamo5fUkh6wnf+6XQU26A85KPaMSZ4Uw65XrWQHawUPlnVJ9 pLkXZUX+TPY+jFJrl5756c+gqbMeva1NOx4fDTtZITM+Ip3jN7raLGmDU9KbZhJT VFy3Vp5DFu/FzsA89FBKvZJrbW+XrP0vTujG+ip4TdJEDjAuTS6KlYnJAkgFRElQ YR6C8g1HyGkDjjoXxJAA0t6pgzDnJvoStyv2GeJaxkblUOReal0rqaAqmY0MntTz AknVewGfHMH1I5c5Kd/9c4x6MtKubVVOWqjuJtVoCWkkZUr68pHfM9CutR6oCgYz bhhL47K/AUlXK5yiR7czy+jPl6BbfFnVt/JDgMHtNpri3/qgI3wV35oS9Iv4JaX3 wDl1pwJTaHA= =ZTpk -----END PGP SIGNATURE-----