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

Severity: High
Date    : 2021-04-29
CVE-ID  : CVE-2021-21372 CVE-2021-21373 CVE-2021-21374
Package : nimble
Type    : multiple issues
Remote  : Yes
Link    : https://security.archlinux.org/AVG-1842

Summary
=======

The package nimble before version 1:0.13.1-1 is vulnerable to multiple
issues including arbitrary command execution and man-in-the-middle.

Resolution
==========

Upgrade to 1:0.13.1-1.

# pacman -Syu "nimble>=1:0.13.1-1"

The problems have been fixed upstream in version 0.13.1.

Workaround
==========

None.

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

- CVE-2021-21372 (arbitrary command execution)

In Nimble before version 0.13.0, doCmd can be leveraged to execute
arbitrary commands. An attacker can craft a malicious entry in the
packages.json package list to trigger code execution.

- CVE-2021-21373 (man-in-the-middle)

In Nimble before version 0.13.0, "nimble refresh" fetches a list of
Nimble packages over HTTPS by default. In case of error it falls back
to a non-TLS URL https://irclogs.nim-lang.org/packages.json. An attacker
able to perform MitM can deliver a modified package list containing
malicious software packages. If the packages are installed and used the
attack escalates to untrusted code execution.

- CVE-2021-21374 (man-in-the-middle)

In Nimble before version 0.13.0, "nimble refresh" fetches a list of
Nimble packages over HTTPS without full verification of the SSL/TLS
certificate due to the default setting of httpClient. An attacker able
to perform man-in-the-middle (MitM) can deliver a modified package list
containing malicious software packages. If the packages are installed
and used the attack escalates to untrusted code execution.

Impact
======

An attacker can perform a man-in-the-middle to inject malicious package
dependencies to a client. In addition, a malicious packager can execute
arbitrary code on the affected client by providing a maliciously-
crafted package metadata file.

References
==========

https://github.com/nim-lang/security/security/advisories/GHSA-rg9f-w24h-962p
https://consensys.net/diligence/vulnerabilities/nim-insecure-ssl-tls-defaults-remote-code-execution/
https://github.com/nim-lang/nimble/commit/7bd63d504a4157b8ed61a51af47fb086ee818c37
https://github.com/nim-lang/security/security/advisories/GHSA-8w52-r35x-rgp8
https://github.com/nim-lang/nimble/commit/aec0ae5c23d2e2a2ec28e97dcb9dd6cb1e68b134
https://github.com/nim-lang/security/security/advisories/GHSA-c2wm-v66h-xhxx
https://github.com/nim-lang/nimble/commit/b60b6f8d5832c7393676ba7bcd0e07d293cec738
https://security.archlinux.org/CVE-2021-21372
https://security.archlinux.org/CVE-2021-21373
https://security.archlinux.org/CVE-2021-21374