title: In RubyGem excon, interrupted Persistent Connections May Leak Response Data
description: 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.
problem types: CWE-664 Improper Control of a Resource Through its Lifetime
affected:
{
product: excon
vendor: excon
versions:
lessThan: 0.71.0, status: affected, version: < 0.71.0, versionType: custom
}
metrics:
cvssV3_1: [
attackComplexity: HIGH
attackVector: NETWORK
availabilityImpact: NONE
baseScore: 5.8
baseSeverity: MEDIUM
confidentialityImpact: HIGH
integrityImpact: NONE
privilegesRequired: LOW
scope: CHANGED
userInteraction: REQUIRED
vectorString: CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:C/C:H/I:N/A:N
version: 3.1
]
workarounds: Users can workaround the problem by disabling persistent connections, though this may cause performance implications.