GoRest: InMemorySecret2FA race condition allows process crash via concurrent map access
GoRest is a Golang starter kit built with the Gin framework for prototyping and developing RESTful APIs. In versions prior to 1.12.2 nMemorySecret2FA contains a race condition due to an unsynchronized package-level map used to store 2FA secrets. Multiple HTTP handlers in handler/login.go and handler/twoFA.go read from and write to this map concurrently, and because Go's runtime treats unsynchronized concurrent map access as an unrecoverable fatal error, an attacker can repeatedly trigger this condition to crash the process on demand. This results in high, repeatable availability impact with no confidentiality or integrity consequences. This issue has been fixed in version 1.12.2.
- Products
- Not specified
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- CVE-2026-48154
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 2 Nov 2026, 18:52 UTC · Revision 1
Source evidence
GoRest: InMemorySecret2FA race condition allows process crash via concurrent map access
core-osv · Original sourcePublished 4 Aug 2026, 19:45 UTC
GoRest is a Golang starter kit built with the Gin framework for prototyping and developing RESTful APIs. In versions prior to 1.12.2 nMemorySecret2FA contains a race condition due to an unsynchronized package-level map used to store 2FA secrets. Multiple HTTP handlers in handler/login.go and handler/twoFA.go read from and write to this map concurrently, and because Go's runtime treats unsynchronized concurrent map access as an unrecoverable fatal error, an attacker can repeatedly trigger this condition to crash the process on demand. This results in high, repeatable availability impact with no confidentiality or integrity consequences. This issue has been fixed in version 1.12.2.
osv:CVE-2026-48154
Complete source record
{
"id": "de7f5e88f2d833aa542292bb2d53e2d5d735d18a42a00826285d312ea17f2328",
"url": "https://osv.dev/vulnerability/CVE-2026-48154",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "GoRest: InMemorySecret2FA race condition allows process crash via concurrent map access",
"summary": "GoRest is a Golang starter kit built with the Gin framework for prototyping and developing RESTful APIs. In versions prior to 1.12.2 nMemorySecret2FA contains a race condition due to an unsynchronized package-level map used to store 2FA secrets. Multiple HTTP handlers in handler/login.go and handler/twoFA.go read from and write to this map concurrently, and because Go's runtime treats unsynchronized concurrent map access as an unrecoverable fatal error, an attacker can repeatedly trigger this condition to crash the process on demand. This results in high, repeatable availability impact with no confidentiality or integrity consequences. This issue has been fixed in version 1.12.2.",
"evidence": "osv:CVE-2026-48154",
"products": [],
"severity": "medium",
"structured": {
"id": "CVE-2026-48154",
"aliases": [
"CVE-2026-48154",
"GHSA-cpwg-x64r-rgwg",
"GO-2026-5330"
],
"metrics": [
{
"type": "CVSS_V3",
"score": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H"
}
],
"affected": [
{
"ranges": [
{
"repo": "https://github.com/pilinux/gorest",
"type": "GIT",
"events": [
{
"introduced": "0"
},
{
"fixed": "00b29fa21dd755844aac6bfc33ebabae013cd17c"
},
{
"fixed": "117ff55fc21b47442da07c44c30b403af2da407b"
}
],
"database_specific": {
"extracted_events": [
{
"range": [
{
"introduced": "0"
},
{
"fixed": "1.12.2"
}
],
"source": "AFFECTED_FIELD",
"strategy": "StringRangeExpression"
},
{
"range": [
{
"fixed": "117ff55fc21b47442da07c44c30b403af2da407b"
}
],
"source": "REFERENCES_COMMIT"
}
]
}
}
],
"versions": [
"v1.12.1",
"v1.12.0",
"v1.11.1",
"v1.11.0",
"v1.10.6",
"v1.10.5",
"v1.10.4",
"v1.10.3",
"v1.10.2",
"v1.10.1",
"v1.10.0",
"v1.9.14",
"v1.9.13",
"v1.9.12",
"v1.9.11",
"v1.9.10",
"v1.9.9",
"v1.9.8",
"v1.9.7",
"v1.9.6",
"v1.9.5",
"v1.9.4",
"v1.9.3",
"v1.9.2",
"v1.9.1",
"v1.9.0",
"v1.8.0",
"v1.7.0",
"v1.6.48",
"v1.6.47",
"v1.6.46",
"v1.6.45",
"v1.6.44",
"v1.6.43",
"v1.6.42",
"v1.6.41",
"v1.6.40",
"v1.6.39",
"v1.6.38",
"v1.6.37",
"v1.6.36",
"v1.6.35",
"v1.6.34",
"v1.6.33",
"v1.6.32",
"v1.6.31",
"v1.6.30",
"v1.6.29",
"v1.6.28",
"v1.6.27",
"v1.6.26",
"v1.6.25",
"v1.6.24",
"v1.6.23",
"v1.6.22",
"v1.6.21",
"v1.6.20",
"v1.6.19",
"v1.6.18",
"v1.6.17",
"v1.6.16",
"v1.6.15",
"v1.6.14",
"v1.6.13",
"v1.6.12",
"v1.6.11",
"v1.6.10",
"v1.6.9",
"v1.6.8",
"v1.6.7",
"v1.6.6",
"v1.6.5",
"v1.6.4",
"v1.6.3",
"v1.6.2",
"v1.6.1",
"v1.6.0-rc.1",
"v1.5.1",
"v1.4.5",
"v1.4.4",
"v1.4.3",
"v1.4.2",
"v1.4.1",
"v1.4.0",
"v1.3.1",
"v1.3.0",
"v1.2.7",
"v1.2.6",
"v1.2.5",
"v1.2.4",
"v1.2.3",
"v1.2.2",
"v1.2.1",
"v1.2.0",
"v1.1.3",
"v1.1.2",
"v1.1.1",
"v1.1",
"v1.0"
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-48154.json"
}
}
],
"modified": "2026-10-28T02:30:22.387497961Z",
"provider": "osv",
"references": [
"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/48xxx/CVE-2026-48154.json",
"https://github.com/pilinux/gorest/security/advisories/GHSA-cpwg-x64r-rgwg",
"https://nvd.nist.gov/vuln/detail/CVE-2026-48154",
"https://github.com/pilinux/gorest/commit/117ff55fc21b47442da07c44c30b403af2da407b",
"https://github.com/pilinux/gorest/pull/391"
],
"provider_metadata": {
"cwe_ids": [
"CWE-362"
],
"cna_assigner": "GitHub_M",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/48xxx/CVE-2026-48154.json"
}
},
"related_cves": [
{
"value": "CVE-2026-48154",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 488797,
"published_at": "2026-08-04T19:45:51.909+00:00"
}