-----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-----