Gogs: Unauthenticated Asymmetric Denial of Service (DoS) via SSH Handshake Stall (File Descriptor Exhaustion)
Gogs is an open source self-hosted Git service. Prior to 0.14.3, the Gogs built-in Go SSH server is vulnerable to an unauthenticated, asymmetric Denial of Service (DoS) attack. The application accepts inbound TCP connections and passes them to golang.org/x/crypto/ssh.NewServerConn inside a new goroutine without enforcing any read/write deadlines on the underlying net.Conn. An unauthenticated attacker can open multiple TCP connections to the SSH port and simply withhold the SSH protocol banner. This forces the server to spawn an unbounded number of goroutines that block indefinitely waiting for socket I/O. This leads to complete File Descriptor (FD) exhaustion, preventing legitimate users from accessing the Git SSH service, and ultimately destabilizing the entire Gogs process (e.g., causing internal log rotation failures). This vulnerability is fixed in 0.14.3.
- Products
- Not specified
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- CVE-2026-52814
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 3 Nov 2026, 02:46 UTC · Revision 1
Source evidence
Gogs: Unauthenticated Asymmetric Denial of Service (DoS) via SSH Handshake Stall (File Descriptor Exhaustion)
core-osv · Original sourcePublished 24 Jun 2026, 20:15 UTC
Gogs is an open source self-hosted Git service. Prior to 0.14.3, the Gogs built-in Go SSH server is vulnerable to an unauthenticated, asymmetric Denial of Service (DoS) attack. The application accepts inbound TCP connections and passes them to golang.org/x/crypto/ssh.NewServerConn inside a new goroutine without enforcing any read/write deadlines on the underlying net.Conn. An unauthenticated attacker can open multiple TCP connections to the SSH port and simply withhold the SSH protocol banner. This forces the server to spawn an unbounded number of goroutines that block indefinitely waiting for socket I/O. This leads to complete File Descriptor (FD) exhaustion, preventing legitimate users from accessing the Git SSH service, and ultimately destabilizing the entire Gogs process (e.g., causing internal log rotation failures). This vulnerability is fixed in 0.14.3.
osv:CVE-2026-52814
Complete source record
{
"id": "a62200adcfe8d8100340b088d54f00d2bbbeacb32e756013236e5d777f39e2dd",
"url": "https://osv.dev/vulnerability/CVE-2026-52814",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "Gogs: Unauthenticated Asymmetric Denial of Service (DoS) via SSH Handshake Stall (File Descriptor Exhaustion)",
"summary": "Gogs is an open source self-hosted Git service. Prior to 0.14.3, the Gogs built-in Go SSH server is vulnerable to an unauthenticated, asymmetric Denial of Service (DoS) attack. The application accepts inbound TCP connections and passes them to golang.org/x/crypto/ssh.NewServerConn inside a new goroutine without enforcing any read/write deadlines on the underlying net.Conn. An unauthenticated attacker can open multiple TCP connections to the SSH port and simply withhold the SSH protocol banner. This forces the server to spawn an unbounded number of goroutines that block indefinitely waiting for socket I/O. This leads to complete File Descriptor (FD) exhaustion, preventing legitimate users from accessing the Git SSH service, and ultimately destabilizing the entire Gogs process (e.g., causing internal log rotation failures). This vulnerability is fixed in 0.14.3.",
"evidence": "osv:CVE-2026-52814",
"products": [],
"severity": "medium",
"structured": {
"id": "CVE-2026-52814",
"aliases": [
"CVE-2026-52814",
"GHSA-xp79-5mx3-jx52",
"GO-2026-5765"
],
"metrics": [
{
"type": "CVSS_V4",
"score": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N/E:P"
}
],
"affected": [
{
"ranges": [
{
"repo": "https://github.com/gogs/gogs",
"type": "GIT",
"events": [
{
"introduced": "0"
},
{
"fixed": "3ba8aca90e17e5410b7e8b227c9f29256ac3e875"
},
{
"fixed": "7da9cda314054501e1a7938a9c4d7896f331b884"
}
],
"database_specific": {
"extracted_events": [
{
"range": [
{
"introduced": "0"
},
{
"fixed": "0.14.3"
}
],
"source": "AFFECTED_FIELD",
"strategy": "StringRangeExpression"
},
{
"range": [
{
"fixed": "7da9cda314054501e1a7938a9c4d7896f331b884"
}
],
"source": "REFERENCES_COMMIT"
},
{
"range": [
{
"fixed": "3ba8aca90e17e5410b7e8b227c9f29256ac3e875"
}
],
"source": "REFERENCES_TAG",
"original_tag": "v0.14.3"
}
]
}
}
],
"versions": [
"v0.14.2-rc.1",
"v0.14.2",
"v0.14.1-rc.1",
"v0.14.1",
"v0.14.0-rc.1",
"v0.14.0",
"latest-commit-build",
"v0.11.91",
"v0.11.86",
"v0.11.79",
"v0.11.66",
"v0.11.53",
"v0.11.43",
"v0.11.34",
"v0.11.33",
"v0.11.29",
"v0.11.19",
"v0.11.4",
"v0.11",
"v0.11rc",
"v0.10.18",
"v0.10.8",
"v0.10",
"v0.10rc",
"v0.9.141",
"v0.9.128",
"v0.9.113",
"v0.9.97",
"v0.9.71",
"v0.9.60",
"v0.9.48",
"v0.9.46",
"v0.9.13",
"v0.9.0",
"v0.8.43",
"v0.8.25",
"v0.8.10",
"v0.8.0",
"v0.7.33",
"v0.7.22",
"v0.7.19",
"v0.7.6",
"v0.7.0",
"v0.6.15",
"v0.6.9",
"v0.6.3",
"v0.6.1",
"v0.5.13",
"v0.5.11",
"v0.5.9",
"v0.5.8",
"v0.5.5",
"v0.5.2",
"v0.5.0",
"v0.4.2",
"v0.4.1",
"v0.4.0",
"v0.3.1",
"v0.3.0",
"v0.2.0"
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-52814.json"
}
}
],
"modified": "2026-10-28T02:30:25.150153794Z",
"provider": "osv",
"references": [
"https://github.com/gogs/gogs/releases/tag/v0.14.3",
"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/52xxx/CVE-2026-52814.json",
"https://github.com/gogs/gogs/security/advisories/GHSA-xp79-5mx3-jx52",
"https://nvd.nist.gov/vuln/detail/CVE-2026-52814",
"https://github.com/gogs/gogs/commit/7da9cda314054501e1a7938a9c4d7896f331b884",
"https://github.com/gogs/gogs/pull/8335"
],
"provider_metadata": {
"cwe_ids": [
"CWE-400"
],
"cna_assigner": "GitHub_M",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/52xxx/CVE-2026-52814.json"
}
},
"related_cves": [
{
"value": "CVE-2026-52814",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 491976,
"published_at": "2026-06-24T20:15:51.513+00:00"
}