CVE-2019-16779
In RubyGem excon, interrupted Persistent Connections May Leak Response Data
CVE-2019-16779 is a medium vulnerability (CVSS 5.8) in Excon, published December 16, 2019. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 1.66%, the 76th percentile. Fixed in excon 0.71.0.
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.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- High
- Privileges needed
- Low
- User interaction
- Required
What an attacker can affect
- Confidentiality
- High
- Integrity
- None
- Availability
- None
Exploit likelihood
What each source reports
CVE List Score used
5.8
In RubyGem excon, interrupted Persistent Connections May Leak Response Data
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.
- Record
CVE-2019-16779- CVSS 3.1
- 5.8 Medium
CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:C/C:H/I:N/A:N - Weakness
- CWE-664
- Updated
- 2026-11-02
EUVDEUVD-2019-0799
5.8
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.
- Record
EUVD-2019-0799- CVSS 3.1
- 5.8 Medium
CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:C/C:H/I:N/A:N - Updated
- 2026-11-03
GitHub AdvisoriesGHSA-q58g-455p-8vw9
5.8
In RubyGem excon, interrupted Persistent Connections May Leak Response Data
Impact
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.
Patches
The problem has been patched in 0.71.0, users should upgrade to this or a newer version (if one exists).
Workarounds
Users can workaround the problem by disabling persistent connections, though this may cause performance implications.
References
See the patch for further details.
For more information
If you have any questions or comments about this advisory:
- Open an issue in excon/issues
- Email us at [email protected]
- Record
GHSA-q58g-455p-8vw9- CVSS 3.1
- 5.8 Medium
CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:C/C:H/I:N/A:N - Weakness
- CWE-362, CWE-664
- Updated
- 2026-11-02
NVD
5.8
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.
- Record
CVE-2019-16779- CVSS 3.1
- 5.8 Medium
CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:C/C:H/I:N/A:N - CVSS 3.1
- 5.9 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N - CVSS 2.0
- 4.3 Medium
AV:N/AC:M/Au:N/C:P/I:N/A:N - Weakness
- CWE-664, CWE-362
- Updated
- 2026-11-02
OSV
5.9
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.
- Record
CVE-2019-16779- CVSS 3.1
- 5.9 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N - Updated
- 2026-11-02
OSVDEBIAN-CVE-2019-16779
5.9
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.
- Record
DEBIAN-CVE-2019-16779- CVSS 3.1
- 5.9 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N - Updated
- 2026-11-02
Show 6 moreShow less
OSVGHSA-q58g-455p-8vw9
5.8
In RubyGem excon, interrupted Persistent Connections May Leak Response Data
Impact
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.
Patches
The problem has been patched in 0.71.0, users should upgrade to this or a newer version (if one exists).
Workarounds
Users can workaround the problem by disabling persistent connections, though this may cause performance implications.
References
See the patch for further details.
For more information
If you have any questions or comments about this advisory:
- Open an issue in excon/issues
- Email us at [email protected]
- Record
GHSA-q58g-455p-8vw9- CVSS 3.1
- 5.8 Medium
CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:C/C:H/I:N/A:N - Weakness
- CWE-362, CWE-664
- Updated
- 2026-11-02
OSVOESA-2021-1420
5.9
rubygem-excon security update
EXtended http(s) CONnections.
Security Fix(es):
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.(CVE-2019-16779)
- Record
OESA-2021-1420- CVSS 3.1
- 5.9 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N - Updated
- 2026-11-02
OSVUBUNTU-CVE-2019-16779
5.8
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.
- Record
UBUNTU-CVE-2019-16779- CVSS 3.1
- 5.8 Medium
CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:C/C:H/I:N/A:N - CVSS 3.1
- 5.9 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N - Updated
- 2026-11-02
OSVopenSUSE-SU-2020:0036-1 No score
Security update for rubygem-excon
This update for rubygem-excon fixes the following issues:
CVE-2019-16779 (boo#1159342): Fix a race condition around persistent connections, where a connection, which was interrupted, would leave data on the socket. Subsequent requests would then read this data, returning content from the previous response.
- Record
openSUSE-SU-2020:0036-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2020:0139-1 No score
Security update for rubygem-excon
This update for rubygem-excon fixes the following issues:
CVE-2019-16779 (boo#1159342): Fix a race condition around persistent connections, where a connection, which was interrupted, would leave data on the socket. Subsequent requests would then read this data, returning content from the previous response.
This update was imported from the openSUSE:Leap:15.1:Update update project.
- Record
openSUSE-SU-2020:0139-1- Updated
- 2026-11-02
OSVSUSE-SU-2020:2053-1 No score
Security update for rubygem-excon
This update for rubygem-excon fixes the following issues:
- CVE-2019-16779: Fixed an information leak in the socket handling for persistent connections (bsc#1159342)
- Record
SUSE-SU-2020:2053-1- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
exconRubyGems |
before 0.71.0 | 0.71.0 |
ruby-exconDebian:12 |
before 0.60.0-2 | 0.60.0-2 |
ruby-exconDebian:13 |
before 0.60.0-2 | 0.60.0-2 |
ruby-exconDebian:14 |
before 0.60.0-2 | 0.60.0-2 |
ruby-exconDebian:8 |
before 0.33.0-2+deb8u1, plus listed versions 0.33.0-2 |
0.33.0-2+deb8u1 |
exconRubyGems |
before 0.71.0, plus listed versions 0.0.10.0.100.0.110.0.120.0.13 Show 45 moreShow less0.0.140.0.150.0.160.0.170.0.180.0.190.0.20.0.200.0.210.0.220.0.230.0.240.0.250.0.260.0.30.0.40.0.50.0.70.0.80.1.00.1.10.1.20.1.30.1.40.10.00.10.10.11.00.12.00.13.00.13.10.13.20.13.30.13.40.14.00.14.10.14.20.14.30.15.00.15.10.15.20.15.30.15.40.15.50.16.00.16.1 |
0.71.0 |
rubygem-exconopenEuler:20.03-LTS-SP1 |
before 0.62.0-3.oe1 | 0.62.0-3.oe1 |
rubygem-exconopenEuler:20.03-LTS-SP2 |
before 0.62.0-3.oe1 | 0.62.0-3.oe1 |
rubygem-exconSUSE:Linux Enterprise Module for Containers 12 |
before 0.52.0-12.3.8 | 0.52.0-12.3.8 |
ruby-exconUbuntu:16.04:LTS |
All versions, plus listed versions 0.45.1-2 |
None known |
ruby-exconUbuntu:18.04:LTS |
All versions, plus listed versions 0.54.0-10.60.0-1 |
None known |
rubygem-exconopenSUSE:Leap 15.1 |
before 0.59.0-lp151.3.3.1 | 0.59.0-lp151.3.3.1 |
rubygem-exconSUSE:Package Hub 15 SP1 |
before 0.59.0-bp151.4.3.1 | 0.59.0-bp151.4.3.1 |
History
| When | Changed | Sources |
|---|---|---|
| 2026-11-03 | aliases | EUVD |
| 2026-11-02 | created | CVE List, GitHub Advisories, NVD, OSV |
References
github.com/excon/excon/security/advisories/GHSA-q58g-455p-8vw9
github.com/excon/excon/commit/ccb57d7a422f020dc74f1de4e8fb505ab46d8a29
lists.opensuse.org/opensuse-security-announce/2020-01/msg00021.html
lists.debian.org/debian-lts-announce/2020/01/msg00015.html
lists.opensuse.org/opensuse-security-announce/2020-01/msg00062.html
nvd.nist.gov/vuln/detail/CVE-2019-16779
Show 12 moreShow less
github.com/rubysec/ruby-advisory-db/blob/master/gems/excon/CVE-2019-16779.yml
github.com/advisories/GHSA-q58g-455p-8vw9
security-tracker.debian.org/tracker/CVE-2019-16779
github.com/excon/excon
openeuler.org/en/security/safety-bulletin/detail.html?id=openEuler-SA-2021-1420
suse.com/support/update/announcement/2020/suse-su-20202053-1
bugzilla.suse.com/1159342
suse.com/security/cve/CVE-2019-16779
ubuntu.com/security/CVE-2019-16779
cve.org/CVERecord?id=CVE-2019-16779
lists.opensuse.org/archives/list/[email protected]/thread/ZGWO6G7VLDG32O4P5HJNHJHSO3NC52T5
lists.opensuse.org/archives/list/[email protected]/thread/24HLW5E7VDSXDL6W4QB2LMVOF74HLGW7
Left out here: 157 versions. The JSON record has them.