The Ruby programming language maintainers have officially released versions 4.0.9, 3.4.12, and 3.3.13 to remediate a series of deep-seated bugs within Onigmo, the built-in regular expression engine utilized by the language. These underlying defects are directly responsible for four critical security vulnerabilities that have emerged and subsequently been patched across GitLab environments over the past month. The security implications came to light after code analysis and subsequent findings by GitLab revealed that a deliberately structured, malicious regular expression pattern could successfully corrupt memory during the compilation phase within Ruby. When processed, this memory corruption could ultimately lead to remote code execution (RCE) on the underlying servers hosting vulnerable applications. Read Also: CISA Urges Immediate Patching of Actively Exploited Ivanti Connect Secure Zero-Day Vulnerability Google’s Gemini Model Breaches External Systems During Cybersecurity Evaluation While the initial wave of high-severity patches was deployed rapidly to secure GitLab’s infrastructure, the scope of the risk extends far beyond any single platform. According to advisories issued by Ruby maintainers, any software application—regardless of its specific domain or architecture—that dynamically builds regular expressions from text controlled directly by an external attacker remains vulnerable to these exploits. Which Applications Are Affected In an official advisory detailing the situation, Ruby core maintainers clarified that an application is uniquely susceptible to this class of vulnerability under specific operational conditions. Most notably, exposure occurs when a program processes and compiles a regular expression directly from a raw string provided by an untrusted source or an attacker. This dangerous condition typically manifests when software passes such string data to standard compilation methods, including Regexp.new, Regexp.union, or Regexp.compile, or when developers embed untrusted input directly inside a regular expression pattern using string interpolation, such as the common pattern format /#input/. Conversely, applications and internal services that rely exclusively on static, hardcoded regular expression patterns authored solely by their own development teams are entirely unaffected by the Onigmo engine flaws. To address these concerns globally, Ruby development teams rolled out fixes across multiple active branches, releasing versions 4.0.9, 3.4.12, and 3.3.13. For both the 3.4 and 3.3 release series, the newly deployed versions represent the very first patches in their respective lifecycles to incorporate the critical Onigmo engine bug fixes. Complications arose with a slightly earlier release distributed during the same week. Version 4.0.8 notably omitted the fix for one specific vulnerability, cataloged as CVE-2026-110264. Consequently, developers and system administrators operating within the Ruby 4.0 environment are explicitly urged to upgrade immediately to version 4.0.9 to ensure comprehensive protection. Older iterations of the language will not receive official backports. Ruby 3.2 and all preceding versions officially reached their end-of-life milestone on April 1, 2026, with version 3.2.11 serving as the final official release for that branch. In light of this, Ruby maintainers strongly recommend that organizations still utilizing legacy software environments accelerate their migration paths toward the supported 3.4 or 4.0 branches. For organizations and engineering teams that find themselves temporarily unable to upgrade their underlying Ruby runtime versions, the advisory emphasizes that developers must alter their coding practices to entirely halt the compilation of regular expressions derived from untrusted or user-controlled input streams. Notably, common protective measures that might traditionally be deployed to mitigate regex-based threats are ineffective against these memory corruption bugs. Configuring the built-in Regexp.timeout setting fails to prevent the exploitation vectors. Similarly, attempting to mitigate risks by artificially capping the length of a regular expression pattern proves entirely unreliable, as researchers confirmed that extremely short, maliciously crafted patterns are fully capable of triggering the underlying engine bugs. How the Bugs Reached GitLab The discovery of these deep engine vulnerabilities traces back to GitLab’s complex platform architecture, which routinely compiles regular expressions supplied directly by end-users, such as custom matching patterns defined within CI/CD pipeline configuration files. During security audits, it was discovered that specially engineered patterns could corrupt memory spaces while the Ruby engine compiled them. This realization drove the release of four distinct Common Vulnerabilities and Exposures (CVE) identifiers between late September and late October 2026, with each individual flaw mitigated by shipping an updated, patched instance of Ruby directly within GitLab distributions. The initial two vulnerabilities, disclosed publicly on September 23, each required an authenticated user account to execute and were assigned a severe CVSS score of 9.9 out of a possible 10. The subsequent two vulnerabilities, disclosed in October—specifically CVE-2026-97229 on October 12 and CVE-2026-110264 on October 21—escalated the threat level significantly by requiring no prior account authentication whatsoever. Both October disclosures earned the maximum possible severity rating of 10.0. Furthermore, the vulnerability designated as CVE-2026-110264 affects virtually every historical version of GitLab stretching all the way back to version 7.0. All four critical security flaws were responsibly discovered and reported to GitLab through its established bug bounty program by an independent security researcher operating under the handle joaxcar. As of late October 2026, none of the four associated CVEs had been incorporated into the Cybersecurity and Infrastructure Security Agency (CISA) Known Exploited Vulnerabilities catalog. No Ruby CVE, for Now An unusual aspect of the current disclosure cycle is that the Ruby language project has opted not to request independent CVE identifiers of its own for these specific Onigmo fixes, at least for the time being. Instead, core maintainers have instructed users and enterprise security teams to track the relevant security issues using the four distinct CVE numbers originally issued through GitLab. This administrative choice introduces potential compliance and monitoring complications for organizations that rely heavily on automated vulnerability scanners. Because GitLab’s official CVE documentation lists only GitLab as the impacted product, traditional vulnerability scanners that cross-reference CVE records against installed system components and underlying Ruby language runtimes will find no direct match, potentially creating a false sense of security or masking the true dependency risk. Historically, the Ruby project has treated comparable low-level engine flaws as formal language vulnerabilities, assigning dedicated CVE identifiers to engine fixes in both 2022 and 2024, despite long-standing security guidance emphasizing that building regular expressions from untrusted input remains an inherently hazardous practice. Official Ruby documentation continues to characterize untrusted pattern compilation strictly as a denial-of-service risk. However, language maintainers have noted that they will evaluate the situation and update their public security advisories if they ultimately choose to request dedicated CVE identifiers for the language runtime. For GitLab Administrators Self-managed GitLab instances face the most immediate operational requirement to secure their environments against CVE-2026-110264. GitLab published the necessary patch release on October 21, backporting the security updates as far back as version 18.11.13 to ensure wide coverage for enterprise deployments. Cloud-hosted environments managed by the platform, including GitLab.com, are already operating on the patched software iterations. Similarly, GitLab Dedicated tenants running recent internal releases require no direct administrative action, as platform engineers handled the underlying dependency updates. Because GitLab packages its own isolated copy of the Ruby runtime environment directly within its application bundle, deploying one of the designated secure GitLab versions automatically applies the necessary fixes to the embedded language engine. To assist enterprise system administrators in identifying potential compromise, GitLab has also published dedicated detection rules. These resources allow self-managed infrastructure teams to actively search their environment logs and system metrics for early warning signs or indicators of active exploitation attempts targeting the underlying Onigmo worker processes. Post navigation China-Linked APT41 Targets Central Asian Diplomats with Sophisticated "BlackX" UEFI Bootkit