{"repo":"NousResearch/hermes-agent","public_id":"119997","display_label":"Path-traversal vulnerability in pending ID handling","summary":"A security bug where pending IDs in /memory and /skills endpoints were treated as file paths, enabling directory traversal attacks (e.g., ../../auth) to read or delete sensitive files. The members cover the bug report and corresponding fixes enforcing that pending IDs reference staged records only.","subsystem":"agent","counts":{"members":5,"open_issues":1,"open_issues_distinct":1,"open_prs":4,"closed_issues":0,"merged_prs":0,"attempt_prs":4},"landed_fix":null,"resolution":{"state":"unresolved","by":null},"freshness":{"state":"never_verified","last_verified_at":null,"is_stale":false},"grouping":{"backbone":"STRUCTURAL_SPANNING","link_density":0.4},"fix_edges":[],"members":[{"kind":"issue","number":119997,"title":"[Bug]: /memory and /skills approve, reject and diff take the pending id as a path, so ../../auth reads or deletes <HERMES_HOME>/auth.json","url":null,"state":"open"},{"kind":"pr","number":119998,"title":"fix(write-approval): a pending id names a staged record, never a path","url":null,"state":"open","close_reason":{"category":"uncategorized","implication":"needs_llm"},"merged":false},{"kind":"pr","number":120132,"title":"fix(security): reject path-traversal ids in /memory and /skills pending store","url":null,"state":"open","close_reason":{"refs":[{"kind":"pr","value":"#119998","number":119998},{"kind":"pr","value":"#119997","number":119997}],"category":"uncategorized","implication":"needs_llm"},"merged":false},{"kind":"pr","number":142244,"title":"fix(security): the write-approval pending store acts only on minted entries inside it","url":null,"state":"open","close_reason":{"category":"silent_close","implication":"active"},"merged":false},{"kind":"pr","number":142245,"title":"feat(tools): keep rejected staged writes with a reason and fire on_write_rejected","url":null,"state":"open","close_reason":{"category":"silent_close","implication":"active"},"merged":false}],"trust":{"default_tier":"verified","includes_suggested":false}}