-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
===========================================================================
AUSCERT External Security Bulletin Redistribution
ESB-2020.3149
The BIG-IP system may not interpret an HTTP request the same
way the target web server interprets it
15 September 2020
===========================================================================
AusCERT Security Bulletin Summary
---------------------------------
Product: BIG-IP
Publisher: F5 Networks
Operating System: Network Appliance
Impact/Access: Reduced Security -- Unknown/Unspecified
Resolution: Mitigation
Original Bulletin:
https://support.f5.com/csp/article/K27551003
- --------------------------BEGIN INCLUDED TEXT--------------------
K27551003:The BIG-IP system may not interpret an HTTP request the same way the
target web server interprets it
Security Advisory
Original Publication Date: 24 Jun, 2020
Latest Publication Date: 15 Sep, 2020
Security Advisory Description
This issue occurs when all of the following conditions are met:
o A virtual server is associated with an HTTP profile.
o An iRule or LTM policy that uses HTTP header information is associated with
the virtual server.
o The BIG-IP system receives a specially crafted HTTP request.
Impact
Customers should evaluate whether this behavior is in line with how their
application processes this traffic, especially when using iRules or Local
Traffic Policies in a security context such as determining ACL or selecting ASM
policies based on request content.
Symptoms
As a result of this issue, you may encounter one or more of the following
symptoms:
o The BIG-IP HTTP parser may not parse requests in the same manner as a web
server.
o The following examples illustrate how the BIG-IP system interprets the
different HTTP requests:
Interpretation of non-encoded white spaces in HTTP URIs
Interpretation of HTTP/0.9 requests that include HTTP headers beyond
the method, URI, and version
Interpretation of white space in HTTP headers between the header name
and the separating colon
Interpretation of multiple HTTP Host headers
Interpretation of absolute URIs containing Host information
Interpretation of non-encoded white spaces in HTTP URIs
Review the following request:
GET /file.txt foo/file2.txt HTTP/1.1rn
Host: www.example.comrn
Connection: closernrn
The following is true about the previous request:
The request is sent to the server as previously noted (without any
changes).
An iRule or Local Traffic Policy extracting the path/URL captures the
string up to the first white space.
For example:
[HTTP::path] = /file.txt
[HTTP::uri] = /file.txt
Note: You can configure the BIG-IP ASM system to block such requests by
ensuring the Bad HTTP Version violation within the HTTP Protocol
Compliance Failed category is enabled.
F5 has assigned ID858285 to the requirement to have an option to reject
such requests within the BIG-IP LTM HTTP profile configuration.
Interpretation of HTTP/0.9 requests that include HTTP headers beyond
the method, URI, and version
Review the following request:
GET /file.txt HTTP/0.9
Host: www.example.com
The following is true about the previous request:
The request is sent to the server as previously noted (without any
changes).
An iRule or Local Traffic Policy extracting the HTTP Host header
returns an empty result.
Per RFC 1945, HTTP/0.9 Simple-Requests do not contain any headers or
information beyond the URI requested. The BIG-IP LTM ignores all data
beyond the URI and passes it to the target pool member unmodified and
without additional inspection or parsing.
For example:
[HTTP::host] =
Note: You can configure the BIG-IP ASM system to block requests that
lack an explicitly defined HTTP version (for example, 0.9 requests)
through the HTTP Protocol Compliance Failed violation. If you want to
block all HTTP/0.9 requests, including those with a version explicitly
defined, consider entering a simple iRule such as the following:
when HTTP_REQUEST {
if {[HTTP::version] eq "0.9"} {
reject
}
}
Interpretation of white space in HTTP headers between the header name
and the separating colon
Review the following request:
GET /file.txt HTTP/1.0
Host : www.example.com
Connection: close
The following is true about the previous request:
The request is sent to the server as previously noted (without any
changes).
The BIG-IP system ignores any additional white space between the header
name and the separating colon, processes the HTTP headers as
normal, and makes the values available to iRules and Local Traffic
Policies with the additional white space removed.
For example:
[HTTP::header names] = Host Connection
[HTTP::host] = www.example.com
[HTTP::header value Host] = www.example.com
The HTTP RFCs do not define white space characters between HTTP header
names and the separating colon (see RFC 2616 section 4.2 and RFC 7230
section 3.2.3) and you should evaluate how your application handles
such white space.
F5 has assigned ID858289 to the requirement to have an option to reject
such requests within the BIG-IP LTM HTTP profile configuration.
Interpretation of multiple HTTP Host headers
Review the following request:
GET /file.txt HTTP/1.0
Host: host1.example.com
Host: host2.example.com
Connection: close
The following is true about the previous request:
The request is sent to the server as previously noted (without any
changes).
An iRule or Local Traffic Policy extracting the HTTP Host header
returns only the last header value, per the documentation for
HTTP::header (https://clouddocs.f5.com/api/irules/HTTP__header.html)
and HTTP::host (https://clouddocs.f5.com/api/irules/HTTP__host.html).
For example:
[HTTP::header names] = Host Host Connection
[HTTP::host] = host2.example.com
[HTTP::header value Host] = host2.example.com
[HTTP::header values Host] = host1.example.com host2.example.com
Note: You can configure the BIG-IP ASM system to block requests with
multiple Host headers by enabling the Multiple Host Headers violation
within the HTTP Protocol Compliance Failed violation category.
Additionally, the following iRule example concatenates multiple Host
header values together before examining them:
when HTTP_REQUEST {
if { [HTTP::header values "Host"] eq "www.example.com" } then {
# A single Host-header was received containing www.example.com
}
}
F5 has assigned ID858297 to the requirement to have an option to reject
such requests within the BIG-IP LTM HTTP profile configuration.
Interpretation of absolute URIs containing Host information
Review the following request:
GET http://www.bar.com/file.txt HTTP/1.1
Host: www.example.com
Connection: close
The following is true about the previous request:
The request is sent to the server as previously noted (without any
changes).
An iRule or Local Traffic Policy extracting the HTTP Host header
returns only the host information contained in the Host header and not
the information contained in the absolute URI.
For example:
[HTTP::host] = www.example.com
[HTTP::header value Host] = www.example.com
If the target application complies with RFC 2616 section 5.2 or RFC
7230 section 5.5, then it may honor the host portion of the Absolute
URI and may, therefore, interpret the request in a different manner
than the BIG-IP system does.
F5 has assigned ID858301 to the requirement to have the BIG-IP LTM HTTP
profile handle such Absolute-URI requests per the guidance in RFC 7230.
Security Advisory Status
F5 Product Development has assigned IDs 858285, 858289, 858297, and 858301 to
this issue. F5 has confirmed that this issue exists in the products listed in
the Applies to (see versions) box, located in the upper-right corner of this
article. For information about releases, point releases, or hotfixes that
resolve this issue, refer to the following table.
+------------------+-----------------+----------------------------------------+
|Type of fix |Fixes introduced |Related articles |
| |in | |
+------------------+-----------------+----------------------------------------+
|Release |16.0.0 |K2200: Most recent versions of F5 |
| | |software |
+------------------+-----------------+----------------------------------------+
|Point release/ |15.0.1.4 |K9502: BIG-IP hotfix and point release |
|hotfix |13.1.3.4 |matrix |
| |12.1.5.2^1 | |
+------------------+-----------------+----------------------------------------+
^1In addition to the versions listed in the Fixes introduced in column, fixes
for ID 858297 and ID 858301 were also introduced in the 12.1.5.2 point release.
Security Advisory Recommended Actions
Workaround
On BIG-IP versions that include mitigations for the IDs discussed in this
article, note that enforcing RFC Compliance is achieved differently depending
on the version, per the following table.
+--------+--------------------------------------------------------------------+
|BIG-IP |Mitigations |
|versions| |
+--------+--------------------------------------------------------------------+
| |The Enforce RFC Compliance checkbox is available in the Enforcement |
| |section of the HTTP profile. To fix the issue described in this |
|15.1.0 |article, you must select this checkbox in the HTTP profile for the |
|or later|affected BIG-IP virtual server. Selecting this checkbox causes the |
| |system to silently drop HTTP requests that do not conform to HTTP |
| |RFCs as described in this article. |
+--------+--------------------------------------------------------------------+
|15.0.1.1|The system database variable tmm.http.rfc.enforcement is available. |
|or later|To fix the issue described in this article, you must enable this |
|14.1.2.4|database variable by entering the following command: |
|or later|tmsh modify sys db tmm.http.rfc.enforcement value enable |
+--------+--------------------------------------------------------------------+
Important: If either HTTP PSM or ASM are configured on a virtual server, the
state of the tmm.http.rfc.enforcement variable or the "Enforce RFC Compliance"
check box (15.1.0+) is ignored on that virtual server. Requests will be allowed
or blocked based on the configured ASM or PSM policy.
Alternatively, to avoid this issue, customers should evaluate how their
application interprets HTTP requests in accordance with published RFCs and how
any customer-defined conditional traffic handling (for example, iRules or Local
Traffic Policies) interprets the same HTTP requests to ensure that the
application stack behaves consistently.
Acknowledgements
F5 would like to acknowledge the F5 DevCentral MVP Kai Wilke of itacs GmbH for
bringing this issue to our attention, and for following the highest standards
of responsible disclosure.
Supplemental Information
o K51812227: Understanding Security Advisory versioning
o K41942608: Overview of AskF5 Security Advisory articles
o K4602: Overview of the F5 security vulnerability response policy
o K4918: Overview of the F5 critical issue hotfix policy
o K9502: BIG-IP hotfix and point release matrix
o K13123: Managing BIG-IP product hotfixes (11.x - 16.x)
o K48955220: Installing an OPSWAT Endpoint Security update on BIG-IP APM
systems (11.4.x and later)
o K167: Downloading software and firmware from F5
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
iQIVAwUBX1/s4eNLKJtyKPYoAQhY2w/+KRXiFFHnx6IBi3QW7//d0oREu6/KY5C7
QQI3G36Mmu+wKoadimHHZoly5VdRmszD2Swm6JIJB+L26HkNDhllK0ABDr44dQ5n
0lemzmbTDeITEhPncHlpf0KAJsQYCrHw2zvBhxYw00lms1qS6SDMD5COSLERF5aN
34H2KRZPIiuht7GwMERhBEHSd05khtLSp3RfOQGUhXWtkdjicbZA5rfeDkaiiZvn
CYYY/TU9faL4onu6E7DrwO4O7QUPLorLlUq7soymhkWTfGHg4hoQQPlUiooU9Yf9
iR9fTceD+cRCeDTm5mp1Waik/aEWOaJdGMUM15+rMhlFPrBAjJxhOC/7GF8xxlJg
Uw9XwQ5wJ1lRMYgmfrgMqfPlwIyItBC3IeTOjQtc5b+sZYsIa7yhFaN+qZwj/maf
FXIFCxS1dk1U/BtPyg7Iz0jk8cMf1ZLYPBag1/P4EXt1bkoUwnBXsOqNB5vxqjCr
TxjCq7EGe7GXjet+jh2u6vjO11/xMp1ssPb0ImKyjR7+6nfAhrmlIrxDrcxjfZlb
ozsZGRvD3jjvFTZtLwntN+p3ZF8pMEmtXhI5UzCCHHOnCK1aoPmjtc8vbQeNulKg
KYLX3ScykdvYh5QzuHeBCFvho14N+5wLhvsRePkTkBe0KpiIoILr8Aq3nTjXZ1JZ
cXffNCExMJc=
=EYJL
-----END PGP SIGNATURE-----
The post ESB-2020.3149 – [Appliance] BIG-IP: Reduced security – Unknown/unspecified appeared first on Malware Devil.
https://malwaredevil.com/2020/09/15/esb-2020-3149-appliance-big-ip-reduced-security-unknown-unspecified/?utm_source=rss&utm_medium=rss&utm_campaign=esb-2020-3149-appliance-big-ip-reduced-security-unknown-unspecified
No comments:
Post a Comment