Free and open · new CVEs checked every 20 minutesStatusRSSOpen dataContact

CVE-2016-2338: An exploitable heap overflow vulnerability exists in the Psych::Emitter start_document function of Ruby

72
This week
CRITICAL 9.8REMOTEWATCHLISTDOWNGRADEMITIGATE

CVE-2016-2338 is a critical-severity flaw (CVSS 9.8) affecting ruby, debian linux. Below: why it ranks where it does, which versions are affected, what to do, and the exact commands.

An exploitable heap overflow vulnerability exists in the Psych::Emitter start_document function of Ruby. In Psych::Emitter start_document function heap buffer "head" allocation is made based on tags array length. Specially constructed object passed as element of tags array can increase this array size after mentioned allocation and cause heap overflow.

Why this priority

  • Critical severity
  • EPSS top 8%: very likely to be exploited
  • Public exploit reference
  • Remotely exploitable, no login, no user action
  • On your watchlist

A fixed release or distro patch exists.

Risk facts

CVSS score9.8 (Critical)
Attack vectorNetwork (remote)
Attack complexityLow
Privileges neededNone
User interactionNone
EPSS exploit chance4.7% (top 8%)
CISA exploited listNo
WeaknessCWE-787
Published2022-09-29
Last modified2026-06-17
Publisher (CNA): CERT/CC · Vendor: debian · ruby-lang

Share: LinkedIn · X · Reddit

Last updated 2026-06-17 · Sources: CVE Program, NVD, CISA KEV, EPSS and vendor advisories · How we score

Am I affected?

Timeline

ruby-lang ruby DOWNGRADE
Affected: 2.2.2 · 2.3.0
Fixed in: no fixed release known
Safe to downgrade to: a release before 2.2.2
1. Check installed version
apt-cache policy ruby || rpm -q ruby || ruby --version
2. No fixed release: DOWNGRADE to a release before 2.2.2 (Debian / Ubuntu)
apt-cache madison ruby sudo apt install ruby=<VERSION_BEFORE_2.2.2> sudo apt-mark hold ruby
2. No fixed release: DOWNGRADE (RHEL / Amazon Linux / Fedora)
dnf --showduplicates list ruby sudo dnf downgrade ruby-<VERSION_BEFORE_2.2.2> sudo dnf versionlock add ruby
Downgrade risk
Downgrading can break dependent software and may reopen older bugs. Read the distro advisory first and test on a non-production host.
After downgrade
Restart the service, and keep the package held until a fixed release ships.
debian debian linux MITIGATE
Affected: 8.0
Fixed in: no fixed release known
Safe to downgrade to: a release before 8.0
Check your OS release
cat /etc/os-release; uname -r
Debian / Ubuntu
sudo apt update && sudo apt full-upgrade
RHEL / Amazon Linux / Fedora
sudo dnf upgrade --refresh
Windows
Install the latest cumulative update from Windows Update
If no patch exists yet
OS downgrades are not safe. Apply the vendor mitigation from the advisory and restrict exposure.

Exact fixes by distribution

A distro patch exists: prefer upgrading over downgrading.
Fedora ELN · libslirp · FIXED · 4.9.7-1.eln159 · FEDORA-2026-209cb94e13 · source
sudo dnf upgrade --advisory=FEDORA-2026-209cb94e13
Fedora 46 · modpoll · FIXED · 1.6.1-1.fc46 · FEDORA-2026-60d403ff15 · source
sudo dnf upgrade --advisory=FEDORA-2026-60d403ff15
RHEL 6 · ruby · DEFERRED
RHEL 7 · ruby · DEFERRED
RHEL 8 · ruby:2.5/ruby · NOT AFFECTED
RHEL 8 · ruby:2.7/ruby · NOT AFFECTED
RHEL 8 · ruby:3.0/ruby · NOT AFFECTED
Amazon Linux 2 · see advisory · FIXED · ALAS2-2025-2990 · source
sudo yum update --advisory=ALAS2-2025-2990

Public exploits and detection

Public code exists for this CVE. Treat unpatched systems as at risk, and only run PoCs in a lab.

Verify at the official source NVD · CVE Program · Report a problem with this page
Scores and fixes here are computed automatically from those and other public sources. Confirm with the vendor advisory before changing production systems.

Quick answers

How do I fix CVE-2016-2338?

ruby: downgrade or apply the listed mitigation; debian linux: mitigate or apply the listed mitigation. Exact commands for each OS are on this page.

Is CVE-2016-2338 being exploited?

CVE-2016-2338 is not on the CISA Known Exploited Vulnerabilities list at the time of the last update. Check again, as this can change.

What does CVE-2016-2338 affect?

CVE-2016-2338 affects ruby, debian linux. Severity is critical (CVSS 9.8). An exploitable heap overflow vulnerability exists in the Psych::Emitter start_document function of Ruby. In Psych::Emitter start_document function heap buffer "head" allocation is made based on tags array length. Specially constructed objec

How urgent is CVE-2016-2338?

Priority 72/100. Critical severity; EPSS top 8%: very likely to be exploited; Public exploit reference; Remotely exploitable, no login, no user action; On your watchlist

Software pages

Debian vulnerabilities · Ruby vulnerabilities

Related CVEs

References

← Back to latest CVEs

Get the weekly exploited-CVE digest by emailThe CVEs being attacked this week and how to fix them. No spam, unsubscribe any time.