Home/CVE/Off-by-one error in the encodes function in pack.c in Ruby 1.9.3 and earlier, and 2.x through 2.1.2, when using certain
CVE
CVE-2014-4975
Off-by-one error in the encodes function in pack.c in Ruby 1.9.3 and earlier, and 2.x through 2.1.2, when using certain
Off-by-one error in the encodes function in pack.c in Ruby 1.9.3 and earlier, and 2.x through 2.1.2, when using certain format string specifiers, allows context-dependent attackers to cause a denial of service (segmentation fault) via vectors that trigger a stack-based buffer overflow.
MEDIUM · CVSS 5
EPSS 0.03893
EPSS exploitation odds3.89% · top 10%
Monitor
- No active-exploitation, high-EPSS, or public-exploit signals - routine patching cadence
Sigma rules3
YARA rules0
Look this up elsewhere - one-click external pivots
▸
How to read a CVE - triage first, then detect and patch
This page is every public fact about CVE-2014-4975, cross-linked. Its job is to answer one question fast - does this need my attention now? - and then hand you the two things you do about it. Here is how an analyst reads it.
Triage: should I act now? Four signals, and they are not interchangeable:
CVSSseverity - how bad it is IF exploited, 0-10. A high CVSS alone is not urgency; a flaw can be a perfect 10 and never actually be attacked.
EPSSprobability - a model’s estimate of the chance it is exploited in the next 30 days, 0-1. This is the “will it actually happen” signal.
CISA KEVconfirmed - it is being exploited in the wild right now. The strongest signal on the page; KEV beats any score.
Weaponisedavailability - public exploits / PoCs, and especially Metasploit modules rated Excellent / Great. Reliable, packaged exploit code means low-skill attackers can use it today.
How they combine: KEV, or a dependable Metasploit module, means patch now regardless of CVSS. High CVSS + low EPSS + no exploit is real but not an emergency - schedule it. Low CVSS but KEV-listed still gets patched now. The verdict above already weighed these for you; this is how it got there.
Then what - two workflows:
Detectwhen you cannot patch today, follow this CVE to the ATT&CK techniques it enables, then Build a SIEM detection (the green button) - author a rule, test it in Atomic, deploy it. That buys visibility while the patch waits.
PatchAffected products / packages tell you if you are exposed; Fixed versions by distribution and Vendor advisories give the exact version that closes it.
Reading order for the panels below: verdict + badges, then Public exploits / Metasploit (is it weaponised), then ATT&CK techniques + Sigma / IDS rules (can I detect it), then Affected products / packages + Fixed versions (am I exposed, what patches it), then Threat actors / IOCs (who uses it), then Scoring & timeline / references (the evidence).
↗
Exploitation momentum
496 days of EPSSdormant
Flat and low - no real exploitation pressure. This reads the direction and speed of EPSS over time, which can move before EPSS itself peaks or before CISA lists it.
▣
Severity & exploitation scoring
EPSS exploitation probability
3.89%
Top 10%odds of exploitation in the next 30 days
CVSS metric silhouette
No structured CVSS vector for this CVE. Older entries often have only a numeric base score - the metric breakdown radar requires a full
AV:_/AC:_/... vector string published by NVD.SSVC triage
No SSVC vulnrichment for this CVE. CISA's Vulnrichment program scores newer CVEs (~2024 onwards) plus selected older critical ones. Use the EPSS probability + KEV status to triage instead.
Lifecycle
- 15 Nov 2014Published to NVD
- 17 Jun 2026Last modified
Every entry is a recorded date - NVD publish/modify, CISA KEV add, public exploit disclosure. No inferred events.
Attack path
Full kill chain
◆
ATT&CK techniques
1Techniques this CVE enables. Pills with a solid outline are high confidence - named directly in ATT&CK or Nuclei, or human-curated by CTID; the rest are inferred from the weakness type using MITRE's CVE Mapping Methodology and the CWE → CAPEC chain. Broad, generic-weakness guesses are filtered out. A small N× marks a technique that N independent sources agree on.
▤ Build a SIEM detection for these techniques▤
CAPEC attack patterns
12Attack patterns this CVE enables - the bridge from weakness to ATT&CK technique.
CAPEC-CAPEC-10 · Buffer Overflow via Environment Variables CAPEC-CAPEC-100 · Overflow Buffers CAPEC-CAPEC-123 · Buffer Manipulation CAPEC-CAPEC-14 · Client-side Injection-induced Buffer Overflow CAPEC-CAPEC-24 · Filter Failure through Buffer Overflow CAPEC-CAPEC-42 · MIME Conversion CAPEC-CAPEC-44 · Overflow Binary Resource File CAPEC-CAPEC-45 · Buffer Overflow via Symbolic Links CAPEC-CAPEC-46 · Overflow Variables and Tags CAPEC-CAPEC-47 · Buffer Overflow via Parameter Expansion CAPEC-CAPEC-8 · Buffer Overflow in an API Call CAPEC-CAPEC-9 · Buffer Overflow in Local Command-Line Utilities
⬡
Weakness Classification
▤
Affected Products & Versions
8ruby-lang ruby<= 1.9.3
ruby-lang rubyall versions
redhat enterprise linux desktopall versions
redhat enterprise linux hpc nodeall versions
redhat enterprise linux serverall versions
redhat enterprise linux workstationall versions
debian linuxall versions
canonical ubuntu linuxall versions
▤
Related CVEs
8CVEs linked to this one by a shared weakness (CWE) or affected product - joins on data already in the engine, with the reason shown per row.
CVE-1999-0027
root privileges via buffer overflow in eject command on SGI IRIX systems.
3
same CWE-119
CVE-1999-0069
Solaris ufsrestore buffer overflow.
2
same CWE-119
HIGH
CVE-1999-0002
Buffer overflow in NFS mountd gives root access to remote attackers, mostly in L...
1
same CWE-119
CVE-1999-0332
Buffer overflow in NetMeeting allows denial of service and remote command execut...
same CWE-119
CVE-2008-1145
Directory traversal vulnerability in WEBrick in Ruby 1.8 before 1.8.5-p115 and 1...
1
same product
CVE-2008-1891
Directory traversal vulnerability in WEBrick in Ruby 1.8.4 and earlier, 1.8.5 be...
same product
CVE-2008-2662
Multiple integer overflows in the rb_str_buf_append function in Ruby 1.8.4 and e...
same product
CVE-2008-2663
Multiple integer overflows in the rb_ary_store function in Ruby 1.8.4 and earlie...
same product
📦
Fixed versions by distribution
27The package version that resolves this CVE on each Linux distribution, from the vendor’s published security data. fixed in shows a patched version exists; open means the package is listed as affected with no fix yet.
oracle allruby fixed in 0:2.0.0.353-22.el7_0
oracle allruby-devel fixed in 0:2.0.0.353-22.el7_0
oracle allruby-irb open
oracle allruby-libs open
oracle allruby-tcltk fixed in 0:2.0.0.353-22.el7_0
oracle allruby193-ruby fixed in 0:1.9.3.484-50.0.1.el6
oracle allruby193-ruby-devel fixed in 0:1.9.3.484-50.0.1.el6
oracle allruby193-ruby-irb open
oracle allruby193-ruby-libs fixed in 0:1.9.3.484-50.0.1.el6
oracle allruby193-ruby-tcltk fixed in 0:1.9.3.484-50.0.1.el6
oracle allruby193-rubygem-bigdecimal fixed in 0:1.1.0-50.0.1.el6
oracle allruby193-rubygem-io-console fixed in 0:0.3-50.0.1.el6
oracle allruby193-rubygem-json fixed in 0:1.5.5-50.0.1.el6
oracle allruby193-rubygem-minitest fixed in 0:2.5.1-50.0.1.el6
oracle allruby193-rubygem-rake fixed in 0:0.9.2.2-50.0.1.el6
oracle allruby193-rubygem-rdoc open
oracle allruby193-rubygems open
oracle allruby193-rubygems-devel fixed in 0:1.8.23-50.0.1.el6
oracle allrubygem-bigdecimal open
oracle allrubygem-io-console fixed in 0:0.4.2-22.el7_0
oracle allrubygem-json fixed in 0:1.7.7-22.el7_0
oracle allrubygem-minitest open
oracle allrubygem-psych open
oracle allrubygem-rake open
oracle allrubygem-rdoc open
oracle allrubygems open
oracle allrubygems-devel fixed in 0:2.0.14-22.el7_0
◈
Sigma Hunt Rules
3Exact rules name this CVE ID. Product rules name an affected product in their title. Related rules cover techniques used by actors who exploited this CVE. Showing the most relevant matches; the complete related set is on the full drill-down.
⚑
Vendor Advisories
9🔗
References & Sources
14Source URLs (vendor pages, mailing lists, write-ups). Exploit/PoC links are in their own section above to avoid duplication.