Arch Linux 811 Published by

The following security updates has been released for Arch Linux:

ASA-201811-4: curl: multiple issues
ASA-201811-5: libcurl-compat: arbitrary code execution
ASA-201811-6: libcurl-gnutls: arbitrary code execution
ASA-201811-7: lib32-libcurl-gnutls: arbitrary code execution
ASA-201811-8: lib32-libcurl-compat: arbitrary code execution
ASA-201811-9: lib32-curl: arbitrary code execution



ASA-201811-4: curl: multiple issues

Arch Linux Security Advisory ASA-201811-4
=========================================

Severity: High
Date : 2018-11-06
CVE-ID : CVE-2018-16840 CVE-2018-16842
Package : curl
Type : multiple issues
Remote : Yes
Link : https://security.archlinux.org/AVG-795

Summary
=======

The package curl before version 7.62.0-1 is vulnerable to multiple
issues including arbitrary code execution and information disclosure.

Resolution
==========

Upgrade to 7.62.0-1.

# pacman -Syu "curl>=7.62.0-1"

The problems have been fixed upstream in version 7.62.0.

Workaround
==========

None.

Description
===========

- CVE-2018-16840 (arbitrary code execution)

A heap use-after-free flaw was found in curl versions from 7.59.0
through 7.61.1 in the code related to closing an easy handle. When
closing and cleaning up an 'easy' handle in the `Curl_close()`
function, the library code first frees a struct (without nulling the
pointer) and might then subsequently erroneously write to a struct
field within that already freed struct.

- CVE-2018-16842 (information disclosure)

Curl versions 7.14.1 through 7.61.1 are vulnerable to a heap-based
buffer over-read in the tool_msgs.c:voutf() function that may result in
information exposure and denial of service.
This display function formats the output to wrap at 80 columns. The
wrap logic is however flawed, so if a single word in the message is
itself longer than 80 bytes the buffer arithmetic calculates the
remainder wrong and will end up reading behind the end of the buffer.

Impact
======

A malicious remote server could execute arbitrary commands by closing
the client initialized with easy handlers. A malicious local user could
disclose information and crash the application if invalid flags were
passed.

References
==========

https://curl.haxx.se/docs/CVE-2018-16840.html
https://github.com/curl/curl/commit/81d135d67155c5295b1033679c606165d4e28f3f
https://curl.haxx.se/docs/CVE-2018-16842.html
https://github.com/curl/curl/commit/d530e92f59ae9bb2d47066c3c460b25d2ffeb211
https://security.archlinux.org/CVE-2018-16840
https://security.archlinux.org/CVE-2018-16842


ASA-201811-5: libcurl-compat: arbitrary code execution

Arch Linux Security Advisory ASA-201811-5
=========================================

Severity: High
Date : 2018-11-06
CVE-ID : CVE-2018-16840
Package : libcurl-compat
Type : arbitrary code execution
Remote : Yes
Link : https://security.archlinux.org/AVG-800

Summary
=======

The package libcurl-compat before version 7.62.0-1 is vulnerable to
arbitrary code execution.

Resolution
==========

Upgrade to 7.62.0-1.

# pacman -Syu "libcurl-compat>=7.62.0-1"

The problem has been fixed upstream in version 7.62.0.

Workaround
==========

None.

Description
===========

A heap use-after-free flaw was found in curl versions from 7.59.0
through 7.61.1 in the code related to closing an easy handle. When
closing and cleaning up an 'easy' handle in the `Curl_close()`
function, the library code first frees a struct (without nulling the
pointer) and might then subsequently erroneously write to a struct
field within that already freed struct.

Impact
======

A malicious remote server might be able to execute arbitrary commands
by closing the connection from a client using easy handlers.

References
==========

https://curl.haxx.se/docs/CVE-2018-16840.html
https://github.com/curl/curl/commit/81d135d67155c5295b1033679c606165d4e28f3f
https://security.archlinux.org/CVE-2018-16840


ASA-201811-6: libcurl-gnutls: arbitrary code execution

Arch Linux Security Advisory ASA-201811-6
=========================================

Severity: High
Date : 2018-11-06
CVE-ID : CVE-2018-16840
Package : libcurl-gnutls
Type : arbitrary code execution
Remote : Yes
Link : https://security.archlinux.org/AVG-799

Summary
=======

The package libcurl-gnutls before version 7.62.0-1 is vulnerable to
arbitrary code execution.

Resolution
==========

Upgrade to 7.62.0-1.

# pacman -Syu "libcurl-gnutls>=7.62.0-1"

The problem has been fixed upstream in version 7.62.0.

Workaround
==========

None.

Description
===========

A heap use-after-free flaw was found in curl versions from 7.59.0
through 7.61.1 in the code related to closing an easy handle. When
closing and cleaning up an 'easy' handle in the `Curl_close()`
function, the library code first frees a struct (without nulling the
pointer) and might then subsequently erroneously write to a struct
field within that already freed struct.

Impact
======

A malicious remote server might be able to execute arbitrary commands
by closing the connection from a client using easy handlers.

References
==========

https://curl.haxx.se/docs/CVE-2018-16840.html
https://github.com/curl/curl/commit/81d135d67155c5295b1033679c606165d4e28f3f
https://security.archlinux.org/CVE-2018-16840


ASA-201811-7: lib32-libcurl-gnutls: arbitrary code execution

Arch Linux Security Advisory ASA-201811-7
=========================================

Severity: High
Date : 2018-11-06
CVE-ID : CVE-2018-16839 CVE-2018-16840
Package : lib32-libcurl-gnutls
Type : arbitrary code execution
Remote : Yes
Link : https://security.archlinux.org/AVG-798

Summary
=======

The package lib32-libcurl-gnutls before version 7.62.0-1 is vulnerable
to arbitrary code execution.

Resolution
==========

Upgrade to 7.62.0-1.

# pacman -Syu "lib32-libcurl-gnutls>=7.62.0-1"

The problems have been fixed upstream in version 7.62.0.

Workaround
==========

None.

Description
===========

- CVE-2018-16839 (arbitrary code execution)

The internal function Curl_auth_create_plain_message fails to correctly
verify that the passed in lengths for name and password aren't too
long, then calculates a buffer size to allocate. On systems with a 32
bit size_t, the math to calculate the buffer size triggers an integer
overflow when the user name length exceeds 2GB (2^31 bytes). This
integer overflow usually causes a very small buffer to actually get
allocated instead of the intended very huge one, making the use of that
buffer end up in a heap buffer overflow.

- CVE-2018-16840 (arbitrary code execution)

A heap use-after-free flaw was found in curl versions from 7.59.0
through 7.61.1 in the code related to closing an easy handle. When
closing and cleaning up an 'easy' handle in the `Curl_close()`
function, the library code first frees a struct (without nulling the
pointer) and might then subsequently erroneously write to a struct
field within that already freed struct.

Impact
======

A malicious remote server might be able to execute arbitrary commands
by closing the connection from a client using easy handlers. A
malicious user could execute arbitrary code by passing a very long
username or password used for SASL authentication.

References
==========

https://curl.haxx.se/docs/CVE-2018-16839.html
https://github.com/curl/curl/commit/f3a24d7916b9173c69a3e0ee790102993833d6c5
https://curl.haxx.se/docs/CVE-2018-16840.html
https://github.com/curl/curl/commit/81d135d67155c5295b1033679c606165d4e28f3f
https://security.archlinux.org/CVE-2018-16839
https://security.archlinux.org/CVE-2018-16840


ASA-201811-8: lib32-libcurl-compat: arbitrary code execution

Arch Linux Security Advisory ASA-201811-8
=========================================

Severity: High
Date : 2018-11-06
CVE-ID : CVE-2018-16839 CVE-2018-16840
Package : lib32-libcurl-compat
Type : arbitrary code execution
Remote : Yes
Link : https://security.archlinux.org/AVG-797

Summary
=======

The package lib32-libcurl-compat before version 7.62.0-1 is vulnerable
to arbitrary code execution.

Resolution
==========

Upgrade to 7.62.0-1.

# pacman -Syu "lib32-libcurl-compat>=7.62.0-1"

The problems have been fixed upstream in version 7.62.0.

Workaround
==========

None.

Description
===========

- CVE-2018-16839 (arbitrary code execution)

The internal function Curl_auth_create_plain_message fails to correctly
verify that the passed in lengths for name and password aren't too
long, then calculates a buffer size to allocate. On systems with a 32
bit size_t, the math to calculate the buffer size triggers an integer
overflow when the user name length exceeds 2GB (2^31 bytes). This
integer overflow usually causes a very small buffer to actually get
allocated instead of the intended very huge one, making the use of that
buffer end up in a heap buffer overflow.

- CVE-2018-16840 (arbitrary code execution)

A heap use-after-free flaw was found in curl versions from 7.59.0
through 7.61.1 in the code related to closing an easy handle. When
closing and cleaning up an 'easy' handle in the `Curl_close()`
function, the library code first frees a struct (without nulling the
pointer) and might then subsequently erroneously write to a struct
field within that already freed struct.

Impact
======

A malicious remote server might be able to execute arbitrary commands
by closing the connection from a client using easy handlers. A
malicious user could execute arbitrary code by passing a very long
username or password used for SASL authentication.

References
==========

https://curl.haxx.se/docs/CVE-2018-16839.html
https://github.com/curl/curl/commit/f3a24d7916b9173c69a3e0ee790102993833d6c5
https://curl.haxx.se/docs/CVE-2018-16840.html
https://github.com/curl/curl/commit/81d135d67155c5295b1033679c606165d4e28f3f
https://security.archlinux.org/CVE-2018-16839
https://security.archlinux.org/CVE-2018-16840


ASA-201811-9: lib32-curl: arbitrary code execution

Arch Linux Security Advisory ASA-201811-9
=========================================

Severity: High
Date : 2018-11-06
CVE-ID : CVE-2018-16839 CVE-2018-16840
Package : lib32-curl
Type : arbitrary code execution
Remote : Yes
Link : https://security.archlinux.org/AVG-796

Summary
=======

The package lib32-curl before version 7.62.0-1 is vulnerable to
arbitrary code execution.

Resolution
==========

Upgrade to 7.62.0-1.

# pacman -Syu "lib32-curl>=7.62.0-1"

The problems have been fixed upstream in version 7.62.0.

Workaround
==========

None.

Description
===========

- CVE-2018-16839 (arbitrary code execution)

The internal function Curl_auth_create_plain_message fails to correctly
verify that the passed in lengths for name and password aren't too
long, then calculates a buffer size to allocate. On systems with a 32
bit size_t, the math to calculate the buffer size triggers an integer
overflow when the user name length exceeds 2GB (2^31 bytes). This
integer overflow usually causes a very small buffer to actually get
allocated instead of the intended very huge one, making the use of that
buffer end up in a heap buffer overflow.

- CVE-2018-16840 (arbitrary code execution)

A heap use-after-free flaw was found in curl versions from 7.59.0
through 7.61.1 in the code related to closing an easy handle. When
closing and cleaning up an 'easy' handle in the `Curl_close()`
function, the library code first frees a struct (without nulling the
pointer) and might then subsequently erroneously write to a struct
field within that already freed struct.

Impact
======

A malicious remote server might be able to execute arbitrary commands
by closing the connection from a client using easy handlers. A
malicious user could execute arbitrary code by passing a very long
username or password used for SASL authentication.

References
==========

https://curl.haxx.se/docs/CVE-2018-16839.html
https://github.com/curl/curl/commit/f3a24d7916b9173c69a3e0ee790102993833d6c5
https://curl.haxx.se/docs/CVE-2018-16840.html
https://github.com/curl/curl/commit/81d135d67155c5295b1033679c606165d4e28f3f
https://security.archlinux.org/CVE-2018-16839
https://security.archlinux.org/CVE-2018-16840