{"id":"CVE-2026-82409","kind":"vulnerability","aliases":["CVE-2026-82409","GHSA-7c7c-373r-gfjj","GO-2026-6585"],"related":[],"title":"Klever-Go: Elasticsearch bulk / painless injection via on-chain account name -> explorer/indexer data forgery in github.com/klever-io/klever-go","description":"Klever-Go is the Go implementation of the Klever blockchain protocol. Prior to 1.7.20, indexer/common.go serializedDataForUpdateAccounts places the attacker-controlled acc.Name value into an Elasticsearch _bulk JSON and NDJSON request without escaping it. The SetAccountName transaction accepts valid UTF-8 account names containing quotes, backslashes, and newlines, and the resulting name is stored in consensus account state. When an indexer processes the account, those characters can break the JSON string, reject a bulk batch, or inject additional bulk actions that create, overwrite, or delete documents in indices writable by the indexer. The persistent state value is replayed by new or historical indexers, and direct access to the indexing host or Elasticsearch port is not required. This issue is fixed in version 1.7.20.","summary":"Klever-Go, the Go implementation of the Klever blockchain, does not escape account names when writing them into Elasticsearch bulk requests. An attacker who sets an account name containing quotes or newlines via a SetAccountName transaction can inject extra bulk actions that create, overwrite, or delete documents in indices the indexer can write to.","severity":"high","cvss":8.4,"epss":0.00268,"exploited":false,"exploited_at":null,"products":[{"name":"github.com/klever-io/klever-go","fixed":["1.7.20"],"affected":"< 1.7.20","ecosystem":"go"}],"ecosystems":["go"],"tags":["blockchain","elasticsearch","go","indexer","klever","package"],"not_affected_if":["no-elasticsearch-indexer","version-1.7.20-or-later"],"how_to_check":"Check the go.mod of your Klever-Go deployment for github.com/klever-io/klever-go and confirm the version is below 1.7.20.","fix":"Upgrade github.com/klever-io/klever-go to 1.7.20 or later.\nAfter upgrading, review Elasticsearch indices written by the indexer for unexpected documents.","status":"open","published_at":"2026-09-23T20:17:16+00:00","first_seen_at":"2026-10-23T19:13:08+00:00","triaged_at":"2026-10-23T19:52:40+00:00","updated_at":"2026-10-23T19:52:40+00:00","category":"package","confidence":0.8,"triage":{"at":"2026-10-23T19:52:40Z","model":"claude-haiku-5-5","output":{"fix":"Upgrade github.com/klever-io/klever-go to 1.7.20 or later.\nAfter upgrading, review Elasticsearch indices written by the indexer for unexpected documents.","summary":"Klever-Go, the Go implementation of the Klever blockchain, does not escape account names when writing them into Elasticsearch bulk requests. An attacker who sets an account name containing quotes or newlines via a SetAccountName transaction can inject extra bulk actions that create, overwrite, or delete documents in indices the indexer can write to.","category":"package","who_cares":["go","blockchain","klever","elasticsearch","indexer"],"confidence":0.8,"analyst_note":"Confirm whether already-stored malicious account names need cleanup in Elasticsearch, using https://pkg.go.dev/vuln/GO-2026-6585 and https://nvd.nist.gov/vuln/detail/CVE-2026-82409.","how_to_check":"Check the go.mod of your Klever-Go deployment for github.com/klever-io/klever-go and confirm the version is below 1.7.20.\nunknown","needs_analyst":true,"not_affected_if":["version-1.7.20-or-later","no-elasticsearch-indexer"],"severity_if_unknown":"high"},"cost_usd":0.000454,"input_tokens":2343,"output_tokens":440,"severity_before":"high"},"analyst_status":null,"analyst_note":null,"search":"'-2026':22A,30A,33A '-6585':31A '-8':139C '-82409':23A,34A '/klever-io/klever-go':20A,37A '1.7.20':112C,221C '373r':27A '7c7c':26A 'acc.name':120C 'accept':136C 'access':204C 'account':12A,57B,71B,140C,155C,162C 'action':85B,178C 'addit':176C 'attack':67B,118C 'attacker-control':117C 'backslash':144C 'batch':173C 'blockchain':38B,53B,108C 'break':166C 'bulk':5A,64B,84B,125C,172C,177C 'chain':11A 'charact':164C 'consensus':154C 'contain':73B,142C 'control':119C 'creat':87B,180C 'cve':21A,32A 'data':15A 'delet':90B,183C 'direct':203C 'document':91B,184C 'elasticsearch':4A,39B,63B,124C,210C 'escap':56B,131C 'explorer/indexer':14A 'extra':83B 'fix':218C 'forgeri':16A 'gfjj':28A 'ghsa':25A 'ghsa-7c7c-373r-gfjj':24A 'github.com':19A,36A 'github.com/klever-io/klever-go':18A,35A 'go':3A,29A,40B,46B,48B,100C,103C 'histor':200C 'host':208C 'implement':49B,104C 'index':41B,95B,159C,190C,201C,207C 'indexer/common.go':113C 'indic':93B,186C 'inject':7A,82B,175C 'issu':216C 'json':126C,168C 'klever':2A,42B,45B,52B,99C,107C 'klever-go':1A,44B,98C 'name':13A,58B,72B,141C,150C 'ndjson':128C 'new':198C 'newlin':76B,146C 'on-chain':9A 'overwrit':88B,181C 'packag':43B 'painless':6A 'persist':192C 'place':115C 'port':211C 'prior':110C 'process':160C 'protocol':109C 'quot':74B,143C 'reject':170C 'replay':196C 'request':65B,129C 'requir':214C 'result':149C 'serializeddataforupdateaccount':114C 'set':69B 'setaccountnam':79B,134C 'state':156C,193C 'store':152C 'string':169C 'transact':80B,135C 'utf':138C 'valid':137C 'valu':121C,194C 'version':220C 'via':8A,77B 'without':130C 'writabl':187C 'write':60B,97B","nicknames":[],"mitigations":[],"who_affected":null,"tier":null,"verified":{},"analyst_revisit_at":null,"first_public_at":"2026-09-23T20:17:16+00:00","kev":null,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:H/VA:H/SC:N/SI:H/SA:L/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X","cvss_by":"security-advisories@github.com","poc_count":0,"sources":[{"source":"govuln","external_id":"GO-2026-6585","url":"https://pkg.go.dev/vuln/GO-2026-6585","severity":null,"published_at":"2026-10-01T20:23:38+00:00","modified_at":"2026-10-01T20:23:38+00:00","first_seen_at":"2026-10-23T19:13:08+00:00","fetched_at":"2026-10-23T19:13:08+00:00","note":null},{"source":"epss","external_id":"CVE-2026-82409","url":"https://api.first.org/data/v1/epss?cve=CVE-2026-82409","severity":null,"published_at":null,"modified_at":null,"first_seen_at":"2026-10-23T19:13:43+00:00","fetched_at":"2026-10-23T19:13:43+00:00","note":null},{"source":"nvd","external_id":"CVE-2026-82409","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-82409","severity":null,"published_at":"2026-09-23T20:17:16+00:00","modified_at":"2026-09-24T16:17:12+00:00","first_seen_at":"2026-10-23T19:35:23+00:00","fetched_at":"2026-10-23T19:35:23+00:00","note":null}],"documents":[],"notice":"Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai"}