blob: f3230af9e1810870a442278d701c0ddbcb3b5e5c [file] [edit]
{
"schema_version": "1.3.1",
"id": "GO-2026-5051",
"modified": "0001-01-01T00:00:00Z",
"published": "0001-01-01T00:00:00Z",
"summary": "Out-of-bounds read and panic in ReadDir in github.com/cloudsoda/go-smb2 and github.com/hirochachacha/go-smb2",
"details": "ReadDir and ReadDirPlus parse the QUERY_DIRECTORY SMB response by advancing through entries using the server-supplied NextEntryOffset field. The pre-fix code does not bound next against the remaining buffer before re-slicing, and the entry decoder IsInvalid check performs length arithmetic in int after narrowing from uint16.\n\nA guest or anonymous directory listing against an attacker-controlled or man-in-the-middle SMB server crashes the Go client process with a runtime panic when the response contains an entry whose NextEntryOffset is larger than the remaining buffer, or whose declared FileNameLength produces a length that does not match the actual buffer size.",
"affected": [
{
"package": {
"name": "github.com/cloudsoda/go-smb2",
"ecosystem": "Go"
},
"ranges": [
{
"type": "SEMVER",
"events": [
{
"introduced": "0"
},
{
"fixed": "0.0.0-20260609183447-7b96c35f5f4b"
}
]
}
],
"ecosystem_specific": {
"imports": [
{
"path": "github.com/cloudsoda/go-smb2",
"symbols": [
"Share.ReadDir",
"Share.ReadDirPlus"
]
}
]
}
},
{
"package": {
"name": "github.com/hirochachacha/go-smb2",
"ecosystem": "Go"
},
"ranges": [
{
"type": "SEMVER",
"events": [
{
"introduced": "0"
}
]
}
],
"ecosystem_specific": {
"imports": [
{
"path": "github.com/hirochachacha/go-smb2",
"symbols": [
"Share.ReadDir"
]
}
]
}
}
],
"references": [
{
"type": "FIX",
"url": "https://github.com/cloudsoda/go-smb2/commit/7b96c35f5f4babfc9d68a60baf5e85f2303d4a4b"
},
{
"type": "REPORT",
"url": "https://github.com/golang/vulndb/issues/5051"
}
],
"credits": [
{
"name": "Jose Rivas (bl4cksku11)"
}
],
"database_specific": {
"url": "https://pkg.go.dev/vuln/GO-2026-5051",
"review_status": "REVIEWED"
}
}