<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Go — CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/tags/go/</link><description>Trending threats, MITRE ATT&amp;CK coverage, and detection metadata — refreshed continuously.</description><generator>Hugo</generator><language>en</language><managingEditor>hello@craftedsignal.io</managingEditor><webMaster>hello@craftedsignal.io</webMaster><lastBuildDate>Wed, 15 Apr 2026 12:00:00 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/tags/go/feed.xml" rel="self" type="application/rss+xml"/><item><title>Go Markdown Library Out-of-Bounds Read Vulnerability</title><link>https://feed.craftedsignal.io/briefs/2026-04-gomarkdown-oob-read/</link><pubDate>Wed, 15 Apr 2026 12:00:00 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-04-gomarkdown-oob-read/</guid><description>A vulnerability in the go-markdown library exists where processing a malformed input containing a '&lt;' character that is not followed by a '&gt;' character with a SmartypantsRenderer can lead to an out-of-bounds read or a panic, causing a denial of service.</description><content:encoded><![CDATA[<p>The <code>go-markdown</code> library, specifically versions prior to <code>0.0.0-20260411013819-759bbc3e3207</code>, is susceptible to an out-of-bounds read vulnerability. This flaw is triggered when the <code>SmartypantsRenderer</code> processes malformed markdown input containing a <code>&lt;</code> character that is not subsequently closed by a <code>&gt;</code> character within the remaining text. The vulnerability resides within the <code>smartLeftAngle()</code> function in <code>html/smartypants.go</code>. Exploitation of this vulnerability leads to either an out-of-bounds read (if the slice length is less than its capacity) or a panic (if the slice length equals its capacity), ultimately resulting in a denial of service. This issue affects applications utilizing the vulnerable versions of the <code>go-markdown</code> library for markdown processing.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>An attacker crafts a malicious markdown input string containing an unclosed <code>&lt;</code> tag (e.g., <code>&lt;a</code>).</li>
<li>The application receives the crafted markdown input for processing.</li>
<li>The application uses the <code>go-markdown</code> library with the <code>SmartypantsRenderer</code> enabled to render the markdown input.</li>
<li>The <code>SmartypantsRenderer</code> calls the <code>smartLeftAngle()</code> function in <code>html/smartypants.go</code> to handle the <code>&lt;</code> character.</li>
<li>The <code>smartLeftAngle()</code> function encounters the unclosed <code>&lt;</code> tag, triggering the out-of-bounds read due to missing <code>&gt;</code> character.</li>
<li>Depending on the slice&rsquo;s length and capacity, the program either reads an extra byte of data (if length &lt; capacity) or panics (if length == capacity).</li>
<li>The application crashes due to the panic or becomes unstable due to the out-of-bounds read.</li>
<li>Service availability is disrupted, resulting in a denial-of-service condition.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation of this vulnerability leads to a denial of service. Any service using the vulnerable <code>go-markdown</code> library to process potentially malicious markdown input is susceptible to crashing or becoming unstable. The impact is a loss of availability for the affected service. While the specific number of affected services or sectors is not mentioned in the source, any application relying on <code>go-markdown</code> is potentially vulnerable.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Upgrade the <code>go-markdown</code> library to version <code>0.0.0-20260411013819-759bbc3e3207</code> or later to patch the vulnerability as detailed in the overview.</li>
<li>Implement input validation to sanitize or reject markdown input containing unclosed <code>&lt;</code> tags. This mitigates the risk even if the vulnerable library is used.</li>
<li>Monitor application logs for unexpected panics or errors originating from the <code>go-markdown</code> library, specifically around markdown rendering routines.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>markdown</category><category>denial-of-service</category><category>go</category><category>out-of-bounds read</category></item></channel></rss>