Overview 287 matches · 5 in Waratek scope · 0 protected · 3 exploited · 1 CISA KEV · 18 public PoC · 8 EPSS ≥ 0.5
287matches
5in Waratek scope1.7%
0protected0.0%
3exploited1.0%
1CISA KEV0.3%
18public PoC6.3%
8EPSS ≥ 0.52.8%
Protected by Waratek
0
0.0%
Rule in development
0
0.0%
Mitigation candidate
0
0.0%
No exploit published
5
1.7%
Outside Waratek scope
3
1.0%
Not applicable
279
97.2%
Withdrawn CVE
0
0.0%
blocked by ARMR today
0
0.0%
partly blocked
0
0.0%
not blocked
287
100.0%
not established
0
0.0%
unrecorded
0
0.0%
split by
peak 38 / year
20041
Not applicable1
Low1
not blocked1
No public exploit1
20053
Not applicable3
High2
Medium1
not blocked3
No public exploit3
20065
Not applicable5
High1
Medium4
not blocked5
Working exploit published1
No public exploit4
20076
Not applicable6
High1
Medium5
not blocked6
No public exploit6
200816
Not applicable16
High11
Medium5
not blocked16
Working exploit published6
No public exploit10
20095
Not applicable5
Critical1
High1
Medium3
not blocked5
Proof of concept only1
No public exploit4
20101
Not applicable1
High1
not blocked1
No public exploit1
201117
No exploit published1
Not applicable16
High2
Medium14
Low1
not blocked17
No public exploit17
201216
No exploit published2
Not applicable14
High2
Medium14
not blocked16
Working exploit published1
No public exploit15
201329
No exploit published1
Not applicable28
High4
Medium24
Low1
not blocked29
Exploited1
Working exploit published1
No public exploit27
201410
Not applicable10
High1
Medium9
not blocked10
No public exploit10
20154
Not applicable4
Medium4
not blocked4
No public exploit4
20167
Not applicable7
High3
Medium3
Low1
not blocked7
Working exploit published1
No public exploit6
201730
Not applicable30
Critical14
High15
Medium1
not blocked30
Working exploit published2
No public exploit28
201824
Not applicable24
Critical7
High13
Medium4
not blocked24
No public exploit24
201922
Not applicable22
Critical6
High10
Medium5
Low1
not blocked22
No public exploit22
20209
Not applicable9
Critical5
High3
Medium1
not blocked9
No public exploit9
20219
Not applicable9
Critical1
High7
Medium1
not blocked9
Forecast only1
No public exploit8
202238
Not applicable38
Critical14
High17
Medium7
not blocked38
Proof of concept only4
No public exploit34
20238
Not applicable8
Critical1
High5
Medium2
not blocked8
Proof of concept only1
No public exploit7
20243
Not applicable3
Critical3
not blocked3
Exploited1
Proof of concept only1
No public exploit1
202511
No exploit published1
Outside Waratek scope2
Not applicable8
Critical4
High2
Medium2
Low3
not blocked11
Working exploit published1
Proof of concept only3
Forecast only1
No public exploit6
202613
Outside Waratek scope1
Not applicable12
Critical1
High7
Medium2
Low3
not blocked13
Exploited1
Proof of concept only6
No public exploit6
200420062008201020122014201620182020202220242026
| CVE | Severity | Published▾ | Status | Exploitation | Description |
|---|---|---|---|---|---|
| CVE-2026-97229 | Critical | 2026-10-13 | Not applicable | Exploited | GitLab has remediated an issue in GitLab CE/EE affecting all versions from 19.2 before 19.2.8, 19.3 before 19.3.5, and 19.4 before 19.4.2 that, under certain conditions, could have allowed an unauthenticated user to execute arbitrary code on the GitLab server via a specially crafted regular expression in a CI/CD configuration, due to insufficient regular expression validation. |
| CVE-2026-88030 | Medium | 2026-09-10 | Not applicable | No public exploit | Improper neutralization of special elements in data query logic in the GridFS component of the MongoDB Ruby Driver can cause a caller-supplied structured file identifier to be interpreted as a query condition rather than as a literal identifier. An authenticated user who can influence the identifier passed by an affected application may obtain stored file content beyond the intended target or cause all GridFS file chunks in the affected bucket to be removed, rendering stored file content unreadable. |
| CVE-2026-54906 | Low | 2026-06-24 | Not applicable | Proof of concept only | concurrent-ruby is a modern concurrency tools for Ruby. Prior to 1.3.7, Concurrent::ReadWriteLock#release_write_lock does not verify that the calling thread acquired the write lock. Any thread with access to the lock object can release an active write lock held by another thread. A second writer can then enter its critical section while the first writer is still running. Concurrent::ReadWriteLock#release_read_lock also decrements the shared counter even when no read lock is held. Calling it on a fresh lock changes the counter from 0 to -1, after which normal read acquisition raises Concurrent::ResourceLimitError. This is a synchronization correctness issue in the public Concurrent::ReadWriteLock API. This vulnerability is fixed in 1.3.7. |
| CVE-2026-54905 | Low | 2026-06-24 | Not applicable | Proof of concept only | concurrent-ruby is a modern concurrency tools for Ruby. Prior to 1.3.7, Concurrent::ReentrantReadWriteLock can incorrectly grant a write lock after one thread acquires the read lock 32,768 times. The lock stores a thread's local read and write hold counts in one integer. The low 15 bits are used for the read hold count, and bit 15 is used as WRITE_LOCK_HELD. After 32,768 reentrant read acquisitions, the local read count crosses into the write-lock bit. try_write_lock then treats the thread as already holding a write lock and returns true without setting the global RUNNING_WRITER bit. This breaks the core mutual-exclusion guarantee: the caller is told it has a write lock, but other threads can still hold or acquire read locks at the same time. This vulnerability is fixed in 1.3.7. |
| CVE-2026-54904 | High | 2026-06-24 | Not applicable | Proof of concept only | concurrent-ruby is a modern concurrency tools for Ruby. Prior to 1.3.7, Concurrent::AtomicReference#update can enter a permanent busy retry loop when the current value is Float::NAN. The issue is caused by the interaction between AtomicReference#update, which retries until compare_and_set(old_value, new_value) succeeds; Numeric compare_and_set, which checks old == old_value before attempting the underlying atomic swap.; and Ruby NaN semantics, where Float::NAN == Float::NAN is always false. As a result, once an AtomicReference contains Float::NAN, calling #update repeatedly evaluates the caller's block and never returns. In services that store externally derived numeric values in an AtomicReference, this can cause CPU exhaustion or permanent request/job hangs. This vulnerability is fixed in 1.3.7. |
| CVE-2026-46727 | High | 2026-05-22 | Not applicable | No public exploit | An issue was discovered in Ruby 4 before 4.0.5. A race condition leading to a use-after-free in the pthread-based getaddrinfo timeout handler (rb_getaddrinfo in ext/socket/raddrinfo.c) allows a remote attacker who can delay DNS responses near the user-specified timeout to crash a Ruby process that calls Addrinfo.getaddrinfo(..., timeout:) or Socket.tcp(..., resolv_timeout:). Memory-corruption-based exploitation is theoretically possible. The attack could, for example, be carried out through a crafted authoritative DNS server or recursive resolver. |
| CVE-2026-40070 | High | 2026-04-09 | Not applicable | Proof of concept only | BSV Ruby SDK is the Ruby SDK for the BSV blockchain. From 0.3.1 to before 0.8.2, BSV::Wallet::WalletClient#acquire_certificate persists certificate records to storage without verifying the certifier's signature over the certificate contents. In acquisition_protocol: 'direct', the caller supplies all certificate fields (including signature:) and the record is written to storage verbatim. In acquisition_protocol: 'issuance', the client POSTs to a certifier URL and writes whatever signature the response body contains, also without verification. An attacker who can reach either API (or who controls a certifier endpoint targeted by the issuance path) can forge identity certificates that subsequently appear authentic to list_certificates and prove_certificate. |
| CVE-2026-40069 | High | 2026-04-09 | Not applicable | No public exploit | BSV Ruby SDK is the Ruby SDK for the BSV blockchain. From 0.1.0 to before 0.8.2, BSV::Network::ARC's failure detection only recognises REJECTED and DOUBLE_SPEND_ATTEMPTED. ARC responses with txStatus values of INVALID, MALFORMED, MINED_IN_STALE_BLOCK, or any ORPHAN-containing extraInfo / txStatus are silently treated as successful broadcasts. Applications that gate actions on broadcaster success are tricked into trusting transactions that were never accepted by the network. This vulnerability is fixed in 0.8.2. |
| CVE-2026-34060 | High | 2026-03-31 | Not applicable | No public exploit | Ruby LSP is an implementation of the language server protocol for Ruby. Prior to Shopify.ruby-lsp version 0.10.2 and ruby-lsp version 0.26.9, the rubyLsp.branch VS Code workspace setting was interpolated without sanitization into a generated Gemfile, allowing arbitrary Ruby code execution when a user opens a project containing a malicious .vscode/settings.json. This issue has been patched in Shopify.ruby-lsp version 0.10.2 and ruby-lsp version 0.26.9. |
| CVE-2026-33946 | High | 2026-03-27 | Not applicable | Proof of concept only | MCP Ruby SDK is the official Ruby SDK for Model Context Protocol servers and clients. Prior to version 0.9.2, the Ruby SDK's streamable_http_transport.rb implementation contains a session hijacking vulnerability. An attacker who obtains a valid session ID can completely hijack the victim's Server-Sent Events (SSE) stream and intercept all real-time data. Version 0.9.2 contains a patch. |
| CVE-2026-33306 | Medium | 2026-03-24 | Not applicable | No public exploit | bcrypt-ruby is a Ruby binding for the OpenBSD bcrypt() password hashing algorithm. Prior to version 3.1.22, an integer overflow in the Java BCrypt implementation for JRuby can cause zero iterations in the strengthening loop. Impacted applications must be setting the cost to 31 to see this happen. The JRuby implementation of bcrypt-ruby (`BCrypt.java`) computes the key-strengthening round count as a signed 32-bit integer. When `cost=31` (the maximum allowed by the gem), signed integer overflow causes the round count to become negative, and the strengthening loop executes **zero iterations**. This collapses bcrypt from 2^31 rounds of exponential key-strengthening to effectively constant-time computation — only the initial EksBlowfish key setup and final 64x encryption phase remain. The resulting hash looks valid (`$2a$31$...`) and verifies correctly via `checkpw`, making the weakness invisible to the application. This issue is triggered only when cost=31 is used or when verifying a `$2a$31$` hash. This problem has been fixed in version 3.1.22. As a workaround, set the cost to something less than 31. |
| CVE-2026-0980 | High | 2026-02-27 | Outside Waratek scope | No public exploit | A flaw was found in rubyipmi, a gem used in the Baseboard Management Controller (BMC) component of Red Hat Satellite. An authenticated attacker with host creation or update permissions could exploit this vulnerability by crafting a malicious username for the BMC interface. This could lead to remote code execution (RCE) on the system. |
| CVE-2026-1979 | Low | 2026-02-06 | Not applicable | Proof of concept only | A flaw has been found in mruby up to 3.4.0. This affects the function mrb_vm_exec of the file src/vm.c of the component JMPNOT-to-JMPIF Optimization. Executing a manipulation can lead to use after free. The attack needs to be launched locally. The exploit has been published and may be used. This patch is called e50f15c1c6e131fa7934355eb02b8173b13df415. It is advisable to implement a patch to correct this issue. |
| CVE-2025-66568 | Critical | 2025-12-09 | Not applicable | No public exploit | The ruby-saml library implements the client side of an SAML authorization. Versions up to and including 1.12.4, are vulnerable to authentication bypass through the libxml2 canonicalization process used by Nokogiri for document transformation, which allows an attacker to execute a Signature Wrapping attack. When libxml2’s canonicalization is invoked on an invalid XML input, it may return an empty string rather than a canonicalized node. ruby-saml then proceeds to compute the DigestValue over this empty string, treating it as if canonicalization succeeded. This issue is fixed in version 1.18.0. |
| CVE-2025-66567 | Critical | 2025-12-09 | Not applicable | No public exploit | The ruby-saml library is for implementing the client side of a SAML authorization. ruby-saml versions up to and including 1.12.4 contain an authentication bypass vulnerability due to an incomplete fix for CVE-2025-25292. ReXML and Nokogiri parse XML differently, generating entirely different document structures from the same input. This allows an attacker to execute a Signature Wrapping attack. This issue is fixed in version 1.18.0. |
| CVE-2025-13397 | Medium | 2025-11-19 | Not applicable | No public exploit | A security vulnerability has been detected in mrubyc up to 3.4. This impacts the function mrbc_raw_realloc of the file src/alloc.c. Such manipulation of the argument ptr leads to null pointer dereference. An attack has to be approached locally. The name of the patch is 009111904807b8567262036bf45297c3da8f1c87. It is advisable to implement a patch to correct this issue. |
| CVE-2025-13120 | Low | 2025-11-13 | Not applicable | No public exploit | A vulnerability has been found in mruby up to 3.4.0. This vulnerability affects the function sort_cmp of the file src/array.c. Such manipulation leads to use after free. An attack has to be approached locally. The exploit has been disclosed to the public and may be used. The name of the patch is eb398971bfb43c38db3e04528b68ac9a7ce509bc. It is advisable to implement a patch to correct this issue. |
| CVE-2025-12875 | Low | 2025-11-07 | Not applicable | Proof of concept only | A weakness has been identified in mruby 3.4.0. This vulnerability affects the function ary_fill_exec of the file mrbgems/mruby-array-ext/src/array.c. Executing a manipulation of the argument start/length can lead to out-of-bounds write. The attack needs to be launched locally. The exploit has been made available to the public and could be used for attacks. This patch is called 93619f06dd378db6766666b30c08978311c7ec94. It is best practice to apply a patch to resolve this issue. |
| CVE-2025-7207 | Low | 2025-07-09 | Not applicable | Proof of concept only | A vulnerability, which was classified as problematic, was found in mruby up to 3.4.0-rc2. Affected is the function scope_new of the file mrbgems/mruby-compiler/core/codegen.c of the component nregs Handler. The manipulation leads to heap-based buffer overflow. An attack has to be approached locally. The exploit has been disclosed to the public and may be used. The name of the patch is 1fdd96104180cc0fb5d3cb086b05ab6458911bb9. It is recommended to apply a patch to fix this issue. |
| CVE-2025-46551 | Medium | 2025-05-07 | No exploit published | Proof of concept only | JRuby-OpenSSL is an add-on gem for JRuby that emulates the Ruby OpenSSL native library. Starting in JRuby-OpenSSL version 0.12.1 and prior to version 0.15.4 (corresponding to JRuby versions starting in 9.3.4.0 prior to 9.4.12.1 and 10.0.0.0 prior to 10.0.0.1), when verifying SSL certificates, JRuby-OpenSSL does not verify that the hostname presented in the certificate matches the one the user tries to connect to. This means a man-in-the-middle could just present any valid cert for a completely different domain they own, and JRuby would accept the cert. Anybody using JRuby to make requests of external APIs, or scraping the web, that depends on https to connect securely. JRuby-OpenSSL version 0.15.4 contains a fix for the issue. This fix is included in JRuby versions 10.0.0.1 and 9.4.12.1. |
| CVE-2025-43015 | High | 2025-04-17 | Not applicable | No public exploit | In JetBrains RubyMine before 2025.1 remote Interpreter overwrote ports to listen on all interfaces |
| CVE-2025-25293 | High | 2025-03-12 | Not applicable | No public exploit | ruby-saml provides security assertion markup language (SAML) single sign-on (SSO) for Ruby. Prior to versions 1.12.4 and 1.18.0, ruby-saml is susceptible to remote Denial of Service (DoS) with compressed SAML responses. ruby-saml uses zlib to decompress SAML responses in case they're compressed. It is possible to bypass the message size check with a compressed assertion since the message size is checked before inflation and not after. This issue may lead to remote Denial of Service (DoS). Versions 1.12.4 and 1.18.0 fix the issue. |
| CVE-2025-25292 | Critical | 2025-03-12 | Outside Waratek scope | Forecast only | ruby-saml provides security assertion markup language (SAML) single sign-on (SSO) for Ruby. An authentication bypass vulnerability was found in ruby-saml prior to versions 1.12.4 and 1.18.0 due to a parser differential. ReXML and Nokogiri parse XML differently, the parsers can generate entirely different document structures from the same XML input. That allows an attacker to be able to execute a Signature Wrapping attack. This issue may lead to authentication bypass. Versions 1.12.4 and 1.18.0 contain a patch for the issue. |
| CVE-2025-25291 | Critical | 2025-03-12 | Outside Waratek scope | Working exploit published | ruby-saml provides security assertion markup language (SAML) single sign-on (SSO) for Ruby. An authentication bypass vulnerability was found in ruby-saml prior to versions 1.12.4 and 1.18.0 due to a parser differential. ReXML and Nokogiri parse XML differently; the parsers can generate entirely different document structures from the same XML input. That allows an attacker to be able to execute a Signature Wrapping attack. This issue may lead to authentication bypass. Versions 1.12.4 and 1.18.0 fix the issue. |
| CVE-2024-45409 | Critical | 2024-09-10 | Not applicable | Exploited | The Ruby SAML library is for implementing the client side of a SAML authorization. Ruby-SAML in <= 12.2 and 1.13.0 <= 1.16.0 does not properly verify the signature of the SAML Response. An unauthenticated attacker with access to any signed saml document (by the IdP) can thus forge a SAML Response/Assertion with arbitrary contents. This would allow the attacker to log in as arbitrary user within the vulnerable system. This vulnerability is fixed in 1.17.0 and 1.12.3. |
| CVE-2024-37051 | Critical | 2024-06-10 | Not applicable | Proof of concept only | GitHub access token could be exposed to third-party sites in JetBrains IDEs after version 2023.1 and less than: IntelliJ IDEA 2023.1.7, 2023.2.7, 2023.3.7, 2024.1.3, 2024.2 EAP3; Aqua 2024.1.2; CLion 2023.1.7, 2023.2.4, 2023.3.5, 2024.1.3, 2024.2 EAP2; DataGrip 2023.1.3, 2023.2.4, 2023.3.5, 2024.1.4; DataSpell 2023.1.6, 2023.2.7, 2023.3.6, 2024.1.2, 2024.2 EAP1; GoLand 2023.1.6, 2023.2.7, 2023.3.7, 2024.1.3, 2024.2 EAP3; MPS 2023.2.1, 2023.3.1, 2024.1 EAP2; PhpStorm 2023.1.6, 2023.2.6, 2023.3.7, 2024.1.3, 2024.2 EAP3; PyCharm 2023.1.6, 2023.2.7, 2023.3.6, 2024.1.3, 2024.2 EAP2; Rider 2023.1.7, 2023.2.5, 2023.3.6, 2024.1.3; RubyMine 2023.1.7, 2023.2.7, 2023.3.7, 2024.1.3, 2024.2 EAP4; RustRover 2024.1.1; WebStorm 2023.1.6, 2023.2.7, 2023.3.7, 2024.1.4 |
| CVE-2024-21654 | Critical | 2024-01-12 | Not applicable | No public exploit | Rubygems.org is the Ruby community's gem hosting service. Rubygems.org users with MFA enabled would normally be protected from account takeover in the case of email account takeover. However, a workaround on the forgotten password form allows an attacker to bypass the MFA requirement and takeover the account. This vulnerability has been patched in commit 0b3272a. |
| CVE-2009-4123 | High | 2023-12-12 | Not applicable | No public exploit | The jruby-openssl gem before 0.6 for JRuby mishandles SSL certificate validation. |
| CVE-2023-40165 | High | 2023-08-17 | Not applicable | No public exploit | rubygems.org is the Ruby community's primary gem (library) hosting service. Insufficient input validation allowed malicious actors to replace any uploaded gem version that had a platform, version number, or gem name matching `/-\d/`, permanently replacing the legitimate upload in the canonical gem storage bucket, and triggering an immediate CDN purge so that the malicious gem would be served immediately. The maintainers have checked all gems matching the `/-\d/` pattern and can confirm that no unexpected `.gem`s were found. As a result, we believe this vulnerability was _not_ exploited. The easiest way to ensure that a user's applications were not exploited by this vulnerability is to check that all of your downloaded .gems have a checksum that matches the checksum recorded in the RubyGems.org database. RubyGems contributor Maciej Mensfeld wrote a tool to automatically check that all downloaded .gem files match the checksums recorded in the RubyGems.org database. You can use it by running: `bundle add bundler-integrity` followed by `bundle exec bundler-integrity`. Neither this tool nor anything else can prove you were not exploited, but the can assist your investigation by quickly comparing RubyGems API-provided checksums with the checksums of files on your disk. The issue has been patched with improved input validation and the changes are live. No action is required on the part of the user. Users are advised to validate their local gems. |
| CVE-2015-20108 | Critical | 2023-05-27 | Not applicable | No public exploit | xml_security.rb in the ruby-saml gem before 1.0.0 for Ruby allows XPath injection and code execution because prepared statements are not used. |
| CVE-2023-1125 | Medium | 2023-05-02 | Not applicable | Proof of concept only | The Ruby Help Desk WordPress plugin before 1.3.4 does not ensure that the ticket being modified belongs to the user making the request, allowing an attacker to close and/or add files and replies to tickets other than their own. |
| CVE-2023-28756 | Medium | 2023-03-31 | Not applicable | No public exploit | A ReDoS issue was discovered in the Time component through 0.2.1 in Ruby through 3.2.1. The Time parser mishandles invalid URLs that have specific characters. It causes an increase in execution time for parsing strings to Time objects. The fixed versions are 0.1.1 and 0.2.2. |
| CVE-2021-46023 | High | 2023-02-14 | Not applicable | No public exploit | An Untrusted Pointer Dereference was discovered in function mrb_vm_exec in mruby before 3.1.0-rc. The vulnerability causes a segmentation fault and application crash. |
| CVE-2022-47318 | High | 2023-01-17 | Not applicable | No public exploit | ruby-git versions prior to v1.13.0 allows a remote authenticated attacker to execute an arbitrary ruby code by having a user to load a repository containing a specially crafted filename to the product. This vulnerability is different from CVE-2022-46648. |
| CVE-2022-46648 | High | 2023-01-17 | Not applicable | No public exploit | ruby-git versions prior to v1.13.0 allows a remote authenticated attacker to execute an arbitrary ruby code by having a user to load a repository containing a specially crafted filename to the product. This vulnerability is different from CVE-2022-47318. |
| CVE-2022-45301 | Medium | 2022-11-29 | Not applicable | No public exploit | Insecure permissions in Chocolatey Ruby package v3.1.2.1 and below grants all users in the Authenticated Users group write privileges for the path C:\tools\ruby31 and all files located in that folder. |
| CVE-2021-33621 | High | 2022-11-18 | Not applicable | No public exploit | The cgi gem before 0.1.0.2, 0.2.x before 0.2.2, and 0.3.x before 0.3.5 for Ruby allows HTTP response splitting. This is relevant to applications that use untrusted user input either to generate an HTTP response or to create a CGI::Cookie object. |
| CVE-2016-2338 | Critical | 2022-09-29 | Not applicable | No public exploit | 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. |
| CVE-2022-39224 | High | 2022-09-21 | Not applicable | Proof of concept only | Arr-pm is an RPM reader/writer library written in Ruby. Versions prior to 0.0.12 are subject to OS command injection resulting in shell execution if the RPM contains a malicious "payload compressor" field. This vulnerability impacts the `extract` and `files` methods of the `RPM::File` class of this library. Version 0.0.12 patches these issues. A workaround for this issue is to ensure any RPMs being processed contain valid/known payload compressor values such as gzip, bzip2, xz, zstd, and lzma. The payload compressor field in an rpm can be checked by using the rpm command line tool. |
| CVE-2022-36073 | High | 2022-09-07 | Not applicable | No public exploit | RubyGems.org is the Ruby community gem host. A bug in password & email change confirmation code allowed an attacker to change their RubyGems.org account's email to an unowned email address. Having access to an account whose email has been changed could enable an attacker to save API keys for that account, and when a legitimate user attempts to create an account with their email (and has to reset password to gain access) and is granted access to other gems, the attacker would then be able to publish and yank versions of those gems. Commit number 90c9e6aac2d91518b479c51d48275c57de492d4d contains a patch for this issue. |
| CVE-2022-36563 | High | 2022-08-30 | Not applicable | No public exploit | Incorrect access control in the install directory (C:\RailsInstaller) of Rubyinstaller2 v3.1.2 and below allows authenticated attackers to execute arbitrary code via overwriting binaries located in the directory. |
| CVE-2022-36562 | High | 2022-08-30 | Not applicable | No public exploit | Incorrect access control in the install directory (C:\Ruby31-x64) of Rubyinstaller2 v3.1.2 and below allows authenticated attackers to execute arbitrary code via overwriting binaries located in the directory. |
| CVE-2021-3779 | Medium | 2022-06-28 | Not applicable | No public exploit | A malicious MySQL server can request local file content from a client using ruby-mysql prior to version 2.10.0 without explicit authorization from the user. This issue was resolved in version 2.10.0 and later. |
| CVE-2022-1934 | High | 2022-05-31 | Not applicable | No public exploit | Use After Free in GitHub repository mruby/mruby prior to 3.2. |
| CVE-2022-29218 | High | 2022-05-13 | Not applicable | Proof of concept only | RubyGems is a package registry used to supply software for the Ruby language ecosystem. An ordering mistake in the code that accepts gem uploads allowed some gems (with platforms ending in numbers, like `arm64-darwin-21`) to be temporarily replaced in the CDN cache by a malicious package. The bug has been patched, and is believed to have never been exploited, based on an extensive review of logs and existing gems by rubygems. The easiest way to ensure that an application has not been exploited by this vulnerability is to verify all downloaded .gems checksums match the checksum recorded in the RubyGems.org database. RubyGems.org has been patched and is no longer vulnerable to this issue. |
| CVE-2022-28739 | High | 2022-05-09 | Not applicable | No public exploit | There is a buffer over-read in Ruby before 2.6.10, 2.7.x before 2.7.6, 3.x before 3.0.4, and 3.1.x before 3.1.2. It occurs in String-to-Float conversion, including Kernel#Float and String#to_f. |
| CVE-2022-28738 | Critical | 2022-05-09 | Not applicable | No public exploit | A double free was found in the Regexp compiler in Ruby 3.x before 3.0.4 and 3.1.x before 3.1.2. If a victim attempts to create a Regexp from untrusted user input, an attacker may be able to write to unexpected memory locations. |
| CVE-2022-29176 | Critical | 2022-05-05 | Not applicable | No public exploit | Rubygems is a package registry used to supply software for the Ruby language ecosystem. Due to a bug in the yank action, it was possible for any RubyGems.org user to remove and replace certain gems even if that user was not authorized to do so. To be vulnerable, a gem needed: one or more dashes in its name creation within 30 days OR no updates for over 100 days At present, we believe this vulnerability has not been exploited. RubyGems.org sends an email to all gem owners when a gem version is published or yanked. We have not received any support emails from gem owners indicating that their gem has been yanked without authorization. An audit of gem changes for the last 18 months did not find any examples of this vulnerability being used in a malicious way. A deeper audit for any possible use of this exploit is ongoing, and we will update this advisory once it is complete. Using Bundler in --frozen or --deployment mode in CI and during deploys, as the Bundler team has always recommended, will guarantee that your application does not silently switch to versions created using this exploit. To audit your application history for possible past exploits, review your Gemfile.lock and look for gems whose platform changed when the version number did not change. For example, gemname-3.1.2 updating to gemname-3.1.2-java could indicate a possible abuse of this vulnerability. RubyGems.org has been patched and is no longer vulnerable to this issue as of the 5th of May 2022. |
| CVE-2022-1427 | High | 2022-04-23 | Not applicable | No public exploit | Out-of-bounds Read in mrb_obj_is_kind_of in in GitHub repository mruby/mruby prior to 3.2. # Impact: Possible arbitrary code execution if being exploited. |
| CVE-2022-1286 | Critical | 2022-04-10 | Not applicable | No public exploit | heap-buffer-overflow in mrb_vm_exec in mruby/mruby in GitHub repository mruby/mruby prior to 3.2. Possible arbitrary code execution if being exploited. |
| CVE-2022-1276 | Critical | 2022-04-10 | Not applicable | No public exploit | Out-of-bounds Read in mrb_get_args in GitHub repository mruby/mruby prior to 3.2. Possible arbitrary code execution if being exploited. |
| CVE-2022-24795 | High | 2022-04-05 | Not applicable | Proof of concept only | yajl-ruby is a C binding to the YAJL JSON parsing and generation library. The 1.x branch and the 2.x branch of `yajl` contain an integer overflow which leads to subsequent heap memory corruption when dealing with large (~2GB) inputs. The reallocation logic at `yajl_buf.c#L64` may result in the `need` 32bit integer wrapping to 0 when `need` approaches a value of 0x80000000 (i.e. ~2GB of data), which results in a reallocation of buf->alloc into a small heap chunk. These integers are declared as `size_t` in the 2.x branch of `yajl`, which practically prevents the issue from triggering on 64bit platforms, however this does not preclude this issue triggering on 32bit builds on which `size_t` is a 32bit integer. Subsequent population of this under-allocated heap chunk is based on the original buffer size, leading to heap memory corruption. This vulnerability mostly impacts process availability. Maintainers believe exploitation for arbitrary code execution is unlikely. A patch is available and anticipated to be part of yajl-ruby version 1.4.2. As a workaround, avoid passing large inputs to YAJL. |
| CVE-2022-1212 | Critical | 2022-04-05 | Not applicable | No public exploit | Use-After-Free in str_escape in mruby/mruby in GitHub repository mruby/mruby prior to 3.2. Possible arbitrary code execution if being exploited. |
| CVE-2022-1201 | Medium | 2022-04-02 | Not applicable | No public exploit | NULL Pointer Dereference in mrb_vm_exec with super in GitHub repository mruby/mruby prior to 3.2. This vulnerability is capable of making the mruby interpreter crash, thus affecting the availability of the system. |
| CVE-2022-1106 | Critical | 2022-03-27 | Not applicable | No public exploit | use after free in mrb_vm_exec in GitHub repository mruby/mruby prior to 3.2. |
| CVE-2022-1071 | High | 2022-03-26 | Not applicable | No public exploit | User after free in mrb_vm_exec in GitHub repository mruby/mruby prior to 3.2. |
| CVE-2022-0890 | Medium | 2022-03-10 | Not applicable | No public exploit | NULL Pointer Dereference in GitHub repository mruby/mruby prior to 3.2. |
| CVE-2021-45977 | Critical | 2022-02-25 | Not applicable | No public exploit | JetBrains IntelliJ IDEA 2021.3.1 Preview, IntelliJ IDEA 2021.3.1 RC, PyCharm Professional 2021.3.1 RC, GoLand 2021.3.1, PhpStorm 2021.3.1 Preview, PhpStorm 2021.3.1 RC, RubyMine 2021.3.1 Preview, RubyMine 2021.3.1 RC, CLion 2021.3.1, WebStorm 2021.3.1 Preview, and WebStorm 2021.3.1 RC (used as Remote Development backend IDEs) bind to the 0.0.0.0 IP address. The fixed versions are: IntelliJ IDEA 2021.3.1, PyCharm Professional 2021.3.1, GoLand 2021.3.2, PhpStorm 2021.3.1 (213.6461.83), RubyMine 2021.3.1, CLion 2021.3.2, and WebStorm 2021.3.1. |
| CVE-2022-0717 | Critical | 2022-02-23 | Not applicable | No public exploit | Out-of-bounds Read in GitHub repository mruby/mruby prior to 3.2. |
| CVE-2022-0632 | Medium | 2022-02-19 | Not applicable | No public exploit | NULL Pointer Dereference in Homebrew mruby prior to 3.2. |
| CVE-2022-0630 | High | 2022-02-19 | Not applicable | No public exploit | Out-of-bounds Read in Homebrew mruby prior to 3.2. |
| CVE-2022-0631 | Critical | 2022-02-18 | Not applicable | No public exploit | Heap-based Buffer Overflow in Homebrew mruby prior to 3.2. |
| CVE-2022-0623 | Critical | 2022-02-17 | Not applicable | No public exploit | Out-of-bounds Read in Homebrew mruby prior to 3.2. |
| CVE-2022-0614 | Medium | 2022-02-16 | Not applicable | No public exploit | Use of Out-of-range Pointer Offset in Homebrew mruby prior to 3.2. |
| CVE-2022-0570 | Critical | 2022-02-14 | Not applicable | No public exploit | Heap-based Buffer Overflow in Homebrew mruby prior to 3.2. |
| CVE-2022-0525 | Critical | 2022-02-09 | Not applicable | No public exploit | Out-of-bounds Read in Homebrew mruby prior to 3.2. |
| CVE-2022-0481 | High | 2022-02-04 | Not applicable | No public exploit | NULL Pointer Dereference in Homebrew mruby prior to 3.2. |
| CVE-2022-0326 | Medium | 2022-01-21 | Not applicable | No public exploit | NULL Pointer Dereference in Homebrew mruby prior to 3.2. |
| CVE-2022-0240 | High | 2022-01-17 | Not applicable | No public exploit | mruby is vulnerable to NULL Pointer Dereference |
| CVE-2021-46020 | High | 2022-01-14 | Not applicable | No public exploit | An untrusted pointer dereference in mrb_vm_exec() of mruby v3.0.0 can lead to a segmentation fault or application crash. |
| CVE-2022-0080 | Critical | 2022-01-02 | Not applicable | Proof of concept only | mruby is vulnerable to Heap-based Buffer Overflow |
| CVE-2021-41819 | High | 2022-01-01 | Not applicable | No public exploit | CGI::Cookie.parse in Ruby through 2.6.8 mishandles security prefixes in cookie names. This also affects the CGI gem through 0.3.0 for Ruby. |
| CVE-2021-41817 | High | 2022-01-01 | Not applicable | No public exploit | Date.parse in the date gem through 3.2.0 for Ruby allows ReDoS (regular expression Denial of Service) via a long string. The fixed versions are 3.2.1, 3.1.2, 3.0.2, and 2.0.1. |
| CVE-2021-4188 | High | 2021-12-30 | Not applicable | No public exploit | mruby is vulnerable to NULL Pointer Dereference |
| CVE-2021-4110 | High | 2021-12-15 | Not applicable | No public exploit | mruby is vulnerable to NULL Pointer Dereference |
| CVE-2021-37543 | High | 2021-08-06 | Not applicable | No public exploit | In JetBrains RubyMine before 2021.1.1, code execution without user confirmation was possible for untrusted projects. |
| CVE-2021-32066 | High | 2021-08-01 | Not applicable | No public exploit | An issue was discovered in Ruby through 2.6.7, 2.7.x through 2.7.3, and 3.x through 3.0.1. Net::IMAP does not raise an exception when StartTLS fails with an an unknown response, which might allow man-in-the-middle attackers to bypass the TLS protections by leveraging a network position between the client and the registry to block the StartTLS command, aka a "StartTLS stripping attack." |
| CVE-2021-28966 | High | 2021-07-30 | Not applicable | Forecast only | In Ruby through 3.0 on Windows, a remote attacker can submit a crafted path when a Web application handles a parameter with TmpDir. |
| CVE-2021-31810 | Medium | 2021-07-13 | Not applicable | No public exploit | An issue was discovered in Ruby through 2.6.7, 2.7.x through 2.7.3, and 3.x through 3.0.1. A malicious FTP server can use the PASV response to trick Net::FTP into connecting back to a given IP address and port. This potentially makes curl extract information about services that are otherwise private and not disclosed (e.g., the attacker can conduct port scans and service banner extractions). |
| CVE-2020-36401 | High | 2021-07-01 | Not applicable | No public exploit | mruby 2.1.2 has a double free in mrb_default_allocf (called from mrb_free and obj_free). |
| CVE-2021-33575 | Critical | 2021-05-25 | Not applicable | No public exploit | The Pixar ruby-jss gem before 1.6.0 allows remote attackers to execute arbitrary code because of the Plist gem's documented behavior of using Marshal.load during XML document processing. |
| CVE-2021-28965 | High | 2021-04-21 | Not applicable | No public exploit | The REXML gem before 3.2.5 in Ruby before 2.6.7, 2.7.x before 2.7.3, and 3.x before 3.0.1 does not properly address XML round-trip issues. An incorrect document can be produced after parsing and serializing. |
| CVE-2020-25613 | High | 2020-10-06 | Not applicable | No public exploit | An issue was discovered in Ruby through 2.5.8, 2.6.x through 2.6.6, and 2.7.x through 2.7.1. WEBrick, a simple HTTP server bundled with Ruby, had not checked the transfer-encoding header value rigorously. An attacker may potentially exploit this issue to bypass a reverse proxy (which also has a poor header check), which may lead to an HTTP Request Smuggling attack. |
| CVE-2016-11086 | High | 2020-09-24 | Not applicable | No public exploit | lib/oauth/consumer.rb in the oauth-ruby gem through 0.5.4 for Ruby does not verify server X.509 certificates if a certificate bundle cannot be found, which allows man-in-the-middle attackers to spoof servers and obtain sensitive information. |
| CVE-2020-15866 | Critical | 2020-07-21 | Not applicable | No public exploit | mruby through 2.1.2-rc has a heap-based buffer overflow in the mrb_yield_with_class function in vm.c because of incorrect VM stack handling. It can be triggered via the stack_copy function. |
| CVE-2020-10933 | Medium | 2020-05-04 | Not applicable | No public exploit | An issue was discovered in Ruby 2.5.x through 2.5.7, 2.6.x through 2.6.5, and 2.7.0. If a victim calls BasicSocket#read_nonblock(requested_size, buffer, exception: false), the method resizes the buffer to fit the requested size, but no data is copied. Thus, the buffer string provides the previous value of the heap. This may expose possibly sensitive data from the interpreter. |
| CVE-2020-5247 | High | 2020-02-28 | Not applicable | No public exploit | In Puma (RubyGem) before 4.3.2 and before 3.12.3, if an application using Puma allows untrusted input in a response header, an attacker can use newline characters (i.e. `CR`, `LF` or`/r`, `/n`) to end the header and inject malicious content, such as additional headers or an entirely new response body. This vulnerability is known as HTTP Response Splitting. While not an attack in itself, response splitting is a vector for several other attacks, such as cross-site scripting (XSS). This is related to CVE-2019-16254, which fixed this vulnerability for the WEBrick Ruby web server. This has been fixed in versions 4.3.2 and 3.12.3 by checking all headers for line endings and rejecting headers with those characters. |
| CVE-2019-10780 | Critical | 2020-01-22 | Not applicable | No public exploit | BibTeX-ruby before 5.1.0 allows shell command injection due to unsanitized user input being passed directly to the built-in Ruby Kernel.open method through BibTeX.open. |
| CVE-2020-6840 | Critical | 2020-01-11 | Not applicable | No public exploit | In mruby 2.1.0, there is a use-after-free in hash_slice in mrbgems/mruby-hash-ext/src/hash-ext.c. |
| CVE-2020-6839 | Critical | 2020-01-11 | Not applicable | No public exploit | In mruby 2.1.0, there is a stack-based buffer overflow in mrb_str_len_to_dbl in string.c. |
| CVE-2020-6838 | Critical | 2020-01-11 | Not applicable | No public exploit | In mruby 2.1.0, there is a use-after-free in hash_values_at in mrbgems/mruby-hash-ext/src/hash-ext.c. |
| CVE-2015-1855 | Medium | 2019-11-29 | Not applicable | No public exploit | verify_certificate_identity in the OpenSSL extension in Ruby before 2.0.0 patchlevel 645, 2.1.x before 2.1.6, and 2.2.x before 2.2.2 does not properly validate hostnames, which allows remote attackers to spoof servers via vectors related to (1) multiple wildcards, (1) wildcards in IDNA names, (3) case sensitivity, and (4) non-ASCII characters. |
| CVE-2019-16255 | High | 2019-11-26 | Not applicable | No public exploit | Ruby through 2.4.7, 2.5.x through 2.5.6, and 2.6.x through 2.6.4 allows code injection if the first argument (aka the "command" argument) to Shell#[] or Shell#test in lib/shell.rb is untrusted data. An attacker can exploit this to call an arbitrary Ruby method. |
| CVE-2019-16254 | Medium | 2019-11-26 | Not applicable | No public exploit | Ruby through 2.4.7, 2.5.x through 2.5.6, and 2.6.x through 2.6.4 allows HTTP Response Splitting. If a program using WEBrick inserts untrusted input into the response header, an attacker can exploit it to insert a newline character to split a header, and inject malicious content to deceive clients. NOTE: this issue exists because of an incomplete fix for CVE-2017-17742, which addressed the CRLF vector, but did not address an isolated CR or an isolated LF. |
| CVE-2019-16201 | High | 2019-11-26 | Not applicable | No public exploit | WEBrick::HTTPAuth::DigestAuth in Ruby through 2.4.7, 2.5.x through 2.5.6, and 2.6.x through 2.6.4 has a regular expression Denial of Service cause by looping/backtracking. A victim must expose a WEBrick server that uses DigestAuth to the Internet or a untrusted network. |
| CVE-2019-15845 | Medium | 2019-11-26 | Not applicable | No public exploit | Ruby through 2.4.7, 2.5.x through 2.5.6, and 2.6.x through 2.6.4 mishandles path checking within File.fnmatch functions. |
| CVE-2011-4121 | Critical | 2019-11-26 | Not applicable | No public exploit | The OpenSSL extension of Ruby (Git trunk) versions after 2011-09-01 up to 2011-11-03 always generated an exponent value of '1' to be used for private RSA key generation. A remote attacker could use this flaw to bypass or corrupt integrity of services, depending on strong private RSA keys generation mechanism. |
| CVE-2011-3624 | Medium | 2019-11-26 | Not applicable | No public exploit | Various methods in WEBrick::HTTPRequest in Ruby 1.9.2 and 1.8.7 and earlier do not validate the X-Forwarded-For, X-Forwarded-Host and X-Forwarded-Server headers in requests, which might allow remote attackers to inject arbitrary text into log files or bypass intended address parsing via a crafted header. |
| CVE-2011-5331 | Critical | 2019-11-18 | Not applicable | No public exploit | Distributed Ruby (aka DRuby) 1.8 mishandles instance_eval. |
| CVE-2011-5330 | Critical | 2019-11-18 | Not applicable | No public exploit | Distributed Ruby (aka DRuby) 1.8 mishandles the sending of syscalls. |