Protect yourself against future threats.
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 =========================================================================== AUSCERT External Security Bulletin Redistribution ESB-2020.4506 curl security update 21 December 2020 =========================================================================== AusCERT Security Bulletin Summary --------------------------------- Product: curl Publisher: Debian Operating System: Debian GNU/Linux Impact/Access: Denial of Service -- Remote/Unauthenticated Provide Misleading Information -- Remote with User Interaction Access Confidential Data -- Remote with User Interaction Resolution: Patch/Upgrade CVE Names: CVE-2020-8286 CVE-2020-8285 CVE-2020-8284 Reference: ESB-2020.4364 ESB-2020.4343 Original Bulletin: https://www.debian.org/lts/security/2020/dla-2500 - --------------------------BEGIN INCLUDED TEXT-------------------- - ------------------------------------------------------------------------- Debian LTS Advisory DLA-2500-1 debian-lts@lists.debian.org https://www.debian.org/lts/security/ Roberto C. S=E1nchez December 18, 2020 https://wiki.debian.org/LTS - ------------------------------------------------------------------------- Package : curl Version : 7.52.1-5+deb9u13 CVE ID : CVE-2020-8284 CVE-2020-8285 CVE-2020-8286 Debian Bug : 977161 977162 977163 Several vulnerabilities were discovered in curl, a command line tool for transferring data with URL syntax and an easy-to-use client-side URL transfer library. CVE-2020-8284 When curl performs a passive FTP transfer, it first tries the EPSV command and if that is not supported, it falls back to using PASV. Passive mode is what curl uses by default. A server response to a PASV command includes the (IPv4) address and port number for the client to connect back to in order to perform the actual data transfer. This is how the FTP protocol is designed to work. A malicious server can use the PASV response to trick curl into connecting back to a given IP address and port, and this way potentially make curl extract information about services that are otherwise private and not disclosed, for example doing port scanning and service banner extractions. The IP address part of the response is now ignored by default, by making CURLOPT_FTP_SKIP_PASV_IP default to 1L instead of previously being 0L. This has the minor drawback that a small fraction of use cases might break, when a server truly needs the client to connect back to a different IP address than what the control connection uses and for those CURLOPT_FTP_SKIP_PASV_IP can be set to 0L. The same goes for the command line tool, which then might need --no-ftp-skip-pasv-ip set to prevent curl from ignoring the address in the server response. CVE-2020-8285 libcurl offers a wildcard matching functionality, which allows a callback (set with CURLOPT_CHUNK_BGN_FUNCTION) to return information back to libcurl on how to handle a specific entry in a directory when libcurl iterates over a list of all available entries. When this callback returns CURL_CHUNK_BGN_FUNC_SKIP, to tell libcurl to not deal with that file, the internal function in libcurl then calls itself recursively to handle the next directory entry. If there's a sufficient amount of file entries and if the callback returns "skip" enough number of times, libcurl runs out of stack space. The exact amount will of course vary with platforms, compilers and other environmental factors. The content of the remote directory is not kept on the stack, so it seems hard for the attacker to control exactly what data that overwrites the stack - however it remains a Denial-Of-Service vector as a malicious user who controls a server that a libcurl-using application works with under these premises can trigger a crash. The internal function is rewritten to instead and more appropriately use an ordinary loop instead of the recursive approach. This way, the stack use will remain the same no matter how many files that are skipped. CVE-2020-8286 libcurl offers "OCSP stapling" via the CURLOPT_SSL_VERIFYSTATUS option. When set, libcurl verifies the OCSP response that a server responds with as part of the TLS handshake. It then aborts the TLS negotiation if something is wrong with the response. The same feature can be enabled with --cert-status using the curl tool. As part of the OCSP response verification, a client should verify that the response is indeed set out for the correct certificate. This step was not performed by libcurl when built or told to use OpenSSL as TLS backend. This flaw would allow an attacker, who perhaps could have breached a TLS server, to provide a fraudulent OCSP response that would appear fine, instead of the real one. Like if the original certificate actually has been revoked. The OCSP response checker function now also verifies that the certificate id is the correct one. For Debian 9 stretch, these problems have been fixed in version 7.52.1-5+deb9u13. We recommend that you upgrade your curl packages. For the detailed security status of curl please refer to its security tracker page at: https://security-tracker.debian.org/tracker/curl Further information about Debian LTS security advisories, how to apply these updates to your system and frequently asked questions can be found at: https://wiki.debian.org/LTS - -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEIYZ1DR4ae5UL01q7ldFmTdL1kUIFAl/dbKIACgkQldFmTdL1 kULQnQ//UQ9we8Dn1Kw5xT+HAcRvdwFpZTthWGVECPKIXRhBNzedlaCI0Rof3N9d UO3gytxlX7vcTb+s9w75SglGMT7eSvipMW2lmk3OBSpRf/mbxWznRsOWePu65GTa MgY92IsUNfh3kVzS+/eiBteyo4JaRqjbwbR8HdtDlhjhmgSNZemhx4Cyxe4FT20N y4c58u4WWtqwDCelYIwnjcLJiSP2hOkKNgewY+yk8RxlxH1tvGnaX7FW2TY8Q+wI gZRfXPk/YBvKsoZItsp1MBo/ZEVutBS9+IyuY/gTuIygJmMvI4EiKwSAPm9gD4+A whkq5u7STRJezMmwgGD6VaEGkGgjaLJjcSl3YD8ILtBRDKiUvmpZbNTzAU+rwYst yKzoCwVHNxxL15IgsJzJSefwH2PdxQmUIzWcEMCnq7EO0RJ8N4STQZHY1mwwfGiJ M9p0A5p4+fJKmrWuTU0SAV7sRWagL1mbrD0kKiruW7uCAyuhExSbLjdic6cx1baI Fl9uGvUmt2WX7Gwkd9+yknbpiP0x4Yj9hJ9CxpDoPnVEY9o8eJ6eOLUfO51qk//H gqo4YInhxG0+qD+tEgIU8i8vOoc2VKAJ5E+XnT02nDI2zQS77vXC1mBzUps9l05U TU+Zk+lGBcKLMdDYOl6PGwUtBCyVI90/nJ7aPRd1ajsfNXe7uig= =LhaQ - -----END PGP SIGNATURE----- - --------------------------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 iQIVAwUBX9/g8uNLKJtyKPYoAQgypg//c9eCNYwlqindU3SeHLdtKgDawSnkQfRE Pn3BLbQAJw9WQGCnTltg+Ye38GxH9XtTtVhrBayVmSQx0w22atEvrm/cgzifYHwY DKZHhM3jwlvKB4eCSo68RZPo9o636Cnm47EP/k8zkNMWkxTPv6pUV8u3jKM9H/xV QjpJ0PrOwkEO5s6SAo5e/HQlnx43y3uraLKssFPtojMD4Djh1lebf6cMy/Y+Hp6k etXbyIq9wGbwvcgu0Q8v/oR0AY7AdUxjX27JdNeC3ekJrL37bz90nJ/h1T3C2+kh ToRMJAmrL/NlVkXTZJqK/biOwXztRpN1aySfMf2IMBpr1bdDKvXOmb9Yz31lUN0Q 8OEpUu0/46tBdsZveRwgGZrcsU4+fl3Y825oS0WienBsjyOxxMnvcyQJ6XlWJV01 bTaScB6pSuwtRR6VIdTzwfKo3RLJ0ojuI6m75pECKfHqGGtyPOWht8DJpvn12sH+ uOTzuWkHY2caaoN3nih0gTLMIdC3zfLFoOu5NWf0+mPp/Y/eIDudFMZ7l6586wI+ z1C3msw20K8ATI+eCtIZzBnD9uInFykptj0cHRPi2jLBeISUJcQ0m95gAEYLfy1J 03657OnBE9+rgjCvNdBlZXHlKSJ3t7SQWyPMcjRC0BO8Pj+6CWRFbAknIiX5Lpb/ iJ873re9FcQ= =ZCG7 -----END PGP SIGNATURE-----