CVE Vulnerabilities

CVE-2019-16779

Improper Control of a Resource Through its Lifetime

Published: Dec 16, 2019 | Modified: Nov 21, 2024
CVSS 3.x
5.9
MEDIUM
Source:
NVD
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N
CVSS 2.x
4.3 MEDIUM
AV:N/AC:M/Au:N/C:P/I:N/A:N
RedHat/V2
RedHat/V3
Ubuntu
MEDIUM

In RubyGem excon before 0.71.0, there was a race condition around persistent connections, where a connection which is interrupted (such as by a timeout) would leave data on the socket. Subsequent requests would then read this data, returning content from the previous response. The race condition window appears to be short, and it would be difficult to purposefully exploit this.

Weakness

The product does not maintain or incorrectly maintains control over a resource throughout its lifetime of creation, use, and release.

Affected Software

Name Vendor Start Version End Version
Excon Excon_project * 0.71.0 (excluding)
Ruby-excon Ubuntu bionic *
Ruby-excon Ubuntu disco *
Ruby-excon Ubuntu eoan *
Ruby-excon Ubuntu trusty *
Ruby-excon Ubuntu xenial *

Extended Description

Resources often have explicit instructions on how to be created, used and destroyed. When code does not follow these instructions, it can lead to unexpected behaviors and potentially exploitable states. Even without explicit instructions, various principles are expected to be adhered to, such as “Do not use an object until after its creation is complete,” or “do not use an object after it has been slated for destruction.”

Potential Mitigations

References