{"record":{"id":"7cd0d62bb5c07438","repo":"shadow1ng/fscan","slug":"short-response","errorCode":null,"errorMessage":"short response","messagePattern":"short response","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"plugins/services/nfs.go","lineNumber":94,"sourceCode":"\t\tBanner:  \"NFS service detected\",\n\t}\n}\n\nfunc (p *NFSPlugin) rpcNullCall(conn interface {\n\tRead([]byte) (int, error)\n\tWrite([]byte) (int, error)\n}, program, version uint32) error {\n\txid := uint32(0x12340000 + program)\n\trpcCall := p.buildRPCCall(xid, program, version, 0, nil)\n\trpcFragment := p.wrapRPCFragment(rpcCall)\n\n\tif _, err := conn.Write(rpcFragment); err != nil {\n\t\treturn err\n\t}\n\n\treply, err := readRPCFragment(conn, 512)\n\tif err != nil || len(reply) < 24 {\n\t\treturn fmt.Errorf(\"short response\")\n\t}\n\n\treplyXID := binary.BigEndian.Uint32(reply[0:4])\n\tif replyXID != xid {\n\t\treturn fmt.Errorf(\"xid mismatch\")\n\t}\n\tmsgType := binary.BigEndian.Uint32(reply[4:8])\n\tif msgType != 1 {\n\t\treturn fmt.Errorf(\"not a reply\")\n\t}\n\treturn nil\n}\n\nfunc (p *NFSPlugin) getExports(conn interface {\n\tRead([]byte) (int, error)\n\tWrite([]byte) (int, error)\n}) ([]string, error) {\n\t// Sun RPC call: program=MOUNT(100005), version=3, procedure=EXPORT(5)","sourceCodeStart":76,"sourceCodeEnd":112,"githubUrl":"https://github.com/shadow1ng/fscan/blob/95cc12e753bf43de7004e5aef42a9ffba3934303/plugins/services/nfs.go#L76-L112","documentation":"Guard in rpcNullCall: the RPC NULL procedure reply fragment was either unreadable or under the 24-byte minimum length of an ONC RPC reply header. The fragment is too short to contain XID, message type, and status, so the probe cannot validate the RPC program.","triggerScenarios":"Thrown at plugins/services/nfs.go:94 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Verify the port actually runs an ONC RPC service (rpcbind/NFS)","Increase the timeout and retry; fragmented reads can be cut short","Check for middleboxes truncating TCP streams"],"exampleFix":null,"handlingStrategy":"retry","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"95cc12e753bf43de7004e5aef42a9ffba3934303","analyzedAt":"2026-09-06T17:07:30.094Z","contentChangedAt":"2026-09-06T17:07:30.094Z","schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}