Operating System:



21 December 2020

Protect yourself against future threats.

Hash: SHA256

             AUSCERT External Security Bulletin Redistribution

                           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

Original Bulletin: 

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


    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.


    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


    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

We recommend that you upgrade your curl packages.

For the detailed security status of curl please refer to
its security tracker page at:

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



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


Australian Computer Emergency Response Team
The University of Queensland
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.
Comment: http://www.auscert.org.au/render.html?it=1967