Debian DSA-5041-1 : cfrpki - security update

critical Nessus Plugin ID 156636

Synopsis

The remote Debian host is missing one or more security-related updates.

Description

The remote Debian 11 host has a package installed that is affected by multiple vulnerabilities as referenced in the dsa-5041 advisory.

- Any CA issuer in the RPKI can trick OctoRPKI prior to 1.3.0 into emitting an invalid VRP MaxLength value, causing RTR sessions to terminate. An attacker can use this to disable RPKI Origin Validation in a victim network (for example AS 13335 - Cloudflare) prior to launching a BGP hijack which during normal operations would be rejected as RPKI invalid. Additionally, in certain deployments RTR session flapping in and of itself also could cause BGP routing churn, causing availability issues. (CVE-2021-3761)

- OctoRPKI does not escape a URI with a filename containing .., this allows a repository to create a file, (ex. rsync://example.org/repo/../../etc/cron.daily/evil.roa), which would then be written to disk outside the base cache folder. This could allow for remote code execution on the host machine OctoRPKI is running on. (CVE-2021-3907)

- OctoRPKI does not limit the depth of a certificate chain, allowing for a CA to create children in an ad- hoc fashion, thereby making tree traversal never end. (CVE-2021-3908)

- OctoRPKI does not limit the length of a connection, allowing for a slowloris DOS attack to take place which makes OctoRPKI wait forever. Specifically, the repository that OctoRPKI sends HTTP requests to will keep the connection open for a day before a response is returned, but does keep drip feeding new bytes to keep the connection alive. (CVE-2021-3909)

- OctoRPKI crashes when encountering a repository that returns an invalid ROA (just an encoded NUL (\0) character). (CVE-2021-3910)

- If the ROA that a repository returns contains too many bits for the IP address then OctoRPKI will crash.
(CVE-2021-3911)

- OctoRPKI tries to load the entire contents of a repository in memory, and in the case of a GZIP bomb, unzip it in memory, making it possible to create a repository that makes OctoRPKI run out of memory (and thus crash). (CVE-2021-3912)

- In NLnet Labs Routinator prior to 0.10.2, a validation run can be delayed significantly by an RRDP repository by not answering but slowly drip-feeding bytes to keep the connection alive. This can be used to effectively stall validation. While Routinator has a configurable time-out value for RRDP connections, this time-out was only applied to individual read or write operations rather than the complete request.
Thus, if an RRDP repository sends a little bit of data before that time-out expired, it can continuously extend the time it takes for the request to finish. Since validation will only continue once the update of an RRDP repository has concluded, this delay will cause validation to stall, leading to Routinator continuing to serve the old data set or, if in the initial validation run directly after starting, never serve any data at all. (CVE-2021-43173)

- NLnet Labs Routinator versions 0.9.0 up to and including 0.10.1, support the gzip transfer encoding when querying RRDP repositories. This encoding can be used by an RRDP repository to cause an out-of-memory crash in these versions of Routinator. RRDP uses XML which allows arbitrary amounts of white space in the encoded data. The gzip scheme compresses such white space extremely well, leading to very small compressed files that become huge when being decompressed for further processing, big enough that Routinator runs out of memory when parsing input data waiting for the next XML element. (CVE-2021-43174)

Note that Nessus has not tested for this issue but has instead relied only on the application's self-reported version number.

Solution

Upgrade the cfrpki packages.

For the stable distribution (bullseye), these problems have been fixed in version 1.4.2-1~deb11u1.

See Also

https://security-tracker.debian.org/tracker/source-package/cfrpki

https://www.debian.org/security/2022/dsa-5041

https://security-tracker.debian.org/tracker/CVE-2021-3761

https://security-tracker.debian.org/tracker/CVE-2021-3907

https://security-tracker.debian.org/tracker/CVE-2021-3908

https://security-tracker.debian.org/tracker/CVE-2021-3909

https://security-tracker.debian.org/tracker/CVE-2021-3910

https://security-tracker.debian.org/tracker/CVE-2021-3911

https://security-tracker.debian.org/tracker/CVE-2021-3912

https://security-tracker.debian.org/tracker/CVE-2021-43173

https://security-tracker.debian.org/tracker/CVE-2021-43174

https://packages.debian.org/source/bullseye/cfrpki

Plugin Details

Severity: Critical

ID: 156636

File Name: debian_DSA-5041.nasl

Version: 1.2

Type: local

Agent: unix

Published: 1/12/2022

Updated: 1/12/2022

Supported Sensors: Frictionless Assessment Agent, Nessus Agent, Agentless Assessment, Nessus

Risk Information

VPR

Risk Factor: Medium

Score: 6.7

CVSS v2

Risk Factor: High

Base Score: 7.5

Temporal Score: 5.5

Vector: CVSS2#AV:N/AC:L/Au:N/C:P/I:P/A:P

CVSS Score Source: CVE-2021-3907

CVSS v3

Risk Factor: Critical

Base Score: 9.8

Temporal Score: 8.5

Vector: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

Temporal Vector: CVSS:3.0/E:U/RL:O/RC:C

Vulnerability Information

CPE: p-cpe:/a:debian:debian_linux:octorpki, cpe:/o:debian:debian_linux:11.0

Required KB Items: Host/local_checks_enabled, Host/Debian/release, Host/Debian/dpkg-l

Exploit Ease: No known exploits are available

Patch Publication Date: 1/11/2022

Vulnerability Publication Date: 9/9/2021

Reference Information

CVE: CVE-2021-3761, CVE-2021-3907, CVE-2021-3908, CVE-2021-3909, CVE-2021-3910, CVE-2021-3911, CVE-2021-3912, CVE-2021-43173, CVE-2021-43174