Skip to content

← Public intelligence

RubyGems package

rdiscount

Open actionable advisories and recorded vendor fixes. This public package view has no inventory attached and cannot establish whether your deployment is affected. A vendor fix never resolves your finding; verify your installed version and the source guidance.

Open advisories

1 actionable advisory, newest first. Withdrawn advisories and news are excluded. Coverage is partial.

  1. Medium, CVSS 5.9RubyGemsPublished

    rdiscount has an Out-of-bounds Read

    CVE-2026-35201 · GHSA-6r34-94wq-jhrc

    Affected
    • RubyGems rdiscount >= 1.3.1.1, < 2.2.7.4
    Fixed in
    2.2.7.4· Vendor fix available
    Issue
    A signed length truncation bug causes an out-of-bounds read in the default Markdown parse path. Inputs larger than INTMAX are truncated to a signed int before entering the native parser, allowing the parser to read past the end of the supplied buffer and crash the process Details In both public entry points: - ext/rdiscount.c:97 - ext/rdiscount.c:136 RSTRINGLEN(text) is passed directly into mkdstring(): mkdstring() accepts int len: - ext/mkdio.c:174 The parser stores the remaining input length in a signed int: - ext/markdown.h:205 The read loop stops only when size == 0: - ext/mkdio.c:161 If the Ruby string length exceeds INTMAX, the value can truncate to a negative int. In that state, the parser continues incrementing data and reading past the end of the original Ruby string, causing an out-of-bounds read and native crash. Affected APIs: - RDiscount.new(input).tohtml - RDiscount.new(input).toccontent PoC Crash via tohtml: result: - built=2200000000 - Ruby terminates with…

    Recommended action: Upgrade to 2.2.7.4 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.

    Sources:github.comSource checked Evidence →