<?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>Frps Server (&gt;= 0.53.0, &lt;= 0.70.0) - CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/products/frps-server--0.53.0--0.70.0/</link><description>Trending threats, MITRE ATT&amp;CK coverage, and detection metadata. Fed continuously.</description><generator>Hugo</generator><language>en</language><managingEditor>hello@craftedsignal.io</managingEditor><webMaster>hello@craftedsignal.io</webMaster><lastBuildDate>Fri, 24 Jul 2026 21:53:22 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/products/frps-server--0.53.0--0.70.0/feed.xml" rel="self" type="application/rss+xml"/><item><title>frp: Unauthenticated Remote Denial of Service in SSH Tunnel Gateway via Integer Overflow</title><link>https://feed.craftedsignal.io/briefs/2026-07-frp-ssh-dos/</link><pubDate>Fri, 24 Jul 2026 21:53:22 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-07-frp-ssh-dos/</guid><description>An unauthenticated remote denial-of-service vulnerability exists in the frp server's optional SSH Tunnel Gateway (frps) that allows an attacker to crash the entire frps process by sending a specially crafted five-byte message containing an integer overflow value in an SSH `exec` channel request, leading to a sustained service outage.</description><content:encoded><![CDATA[<p>An integer-overflow vulnerability (CWE-190) has been identified in the frp server's optional SSH Tunnel Gateway (<code>frps</code>), affecting versions v0.53.0 through v0.70.0. This flaw allows any unauthenticated remote attacker to trigger a denial of service (DoS) by sending a single, malformed five-byte SSH <code>exec</code> channel request. The vulnerability stems from an integer overflow when parsing an attacker-controlled length field (<code>0xFFFFFFFF</code>), which causes a Go slice bounds check to fail, leading to an unhandled panic and the termination of the entire <code>frps</code> process. Since the attack is pre-authentication and does not require an authorized SSH key, it can be repeatedly exploited to maintain a sustained outage, disrupting all active frp tunnels and preventing new connections. This vulnerability significantly impacts the availability of affected <code>frps</code> instances with the SSH Tunnel Gateway enabled, which is not the default configuration.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>An unauthenticated attacker establishes an SSH connection to a vulnerable <code>frps</code> server with the SSH Tunnel Gateway explicitly enabled and <code>AuthorizedKeysFile</code> unset (default configuration).</li>
<li>The attacker opens an SSH session channel.</li>
<li>The attacker crafts an <code>exec</code> request payload consisting of five bytes.</li>
<li>The first four bytes of the payload are set to <code>0xFFFFFFFF</code> (32-bit integer).</li>
<li>A single arbitrary byte (e.g., <code>0x41</code>) follows the four-byte length field.</li>
<li>The <code>frps</code> server receives the <code>exec</code> request payload.</li>
<li>During parsing in <code>pkg/ssh/server.go</code>, the server adds a constant <code>4</code> to the attacker-controlled length <code>0xFFFFFFFF</code>. Due to integer overflow, this calculation results in <code>3</code>.</li>
<li>The subsequent bounds check <code>len(req.Payload) &lt; int(end)</code> evaluates to <code>5 &lt; 3</code>, which is false, allowing the malicious payload to bypass the check.</li>
<li>A slice operation <code>req.Payload[4:end]</code> is then executed, which becomes <code>req.Payload[4:3]</code>, resulting in a &quot;slice bounds out of range&quot; panic.</li>
<li>The unhandled panic causes the entire <code>frps</code> process to terminate, leading to a denial of service.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation of this vulnerability results in an unauthenticated remote denial of service, causing the <code>frps</code> process to crash completely. This crash immediately drops all active tunnels, disconnecting every client and preventing any new connections. The attacker can repeatedly send the malicious five-byte payload to keep the service down indefinitely, making it a sustained outage. While there is no impact on confidentiality or integrity, and no code execution is achieved, the complete loss of service availability can be critical for organizations relying on <code>frps</code> for their tunneling infrastructure. This issue specifically affects <code>frps</code> instances where the SSH Tunnel Gateway feature is explicitly enabled, as it is disabled by default.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Patch affected frp installations immediately to a version beyond <code>v0.70.0</code> to remediate the integer overflow vulnerability affecting the SSH Tunnel Gateway.</li>
<li>If immediate patching is not possible and the SSH Tunnel Gateway is not critical, disable the <code>sshTunnelGateway</code> feature in your <code>frps</code> configuration to prevent exploitation.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>denial-of-service</category><category>vulnerability</category><category>frp</category><category>integer-overflow</category></item></channel></rss>