[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"detail-sidebar-cat-0-en-105":3,"doc-seo-273434-105":59,"doc-detail-273434-en":131},{"code":4,"msg":5,"data":6},0,"success",[7,13,18,23,28,33,38,43,48,51,55],{"id":8,"doc_module":4,"doc_module_name":9,"category_name":10,"show_sort_weight":11,"slug":12},1,"Document","Story & Novel",90,"story-novel",{"id":14,"doc_module":4,"doc_module_name":9,"category_name":15,"show_sort_weight":16,"slug":17},2,"Literature",80,"literature",{"id":19,"doc_module":4,"doc_module_name":9,"category_name":20,"show_sort_weight":21,"slug":22},4,"Exam",70,"exam",{"id":24,"doc_module":4,"doc_module_name":9,"category_name":25,"show_sort_weight":26,"slug":27},5,"Comic",60,"comic",{"id":29,"doc_module":4,"doc_module_name":9,"category_name":30,"show_sort_weight":31,"slug":32},6,"Technology",50,"technology",{"id":34,"doc_module":4,"doc_module_name":9,"category_name":35,"show_sort_weight":36,"slug":37},7,"Healthcare",40,"healthcare",{"id":39,"doc_module":4,"doc_module_name":9,"category_name":40,"show_sort_weight":41,"slug":42},8,"Research & Report",30,"research-report",{"id":44,"doc_module":4,"doc_module_name":9,"category_name":45,"show_sort_weight":46,"slug":47},9,"Religion & Spirituality",20,"religion-spirituality",{"id":46,"doc_module":4,"doc_module_name":9,"category_name":49,"show_sort_weight":46,"slug":50},"World Cup","world-cup",{"id":52,"doc_module":4,"doc_module_name":9,"category_name":53,"show_sort_weight":52,"slug":54},10,"Lifestyle","lifestyle",{"id":56,"doc_module":4,"doc_module_name":9,"category_name":57,"show_sort_weight":24,"slug":58},19,"General","general",{"code":4,"msg":60,"data":61},"ok",{"site_id":62,"language":63,"slug":64,"title":65,"keywords":66,"description":67,"schema_data":68,"social_meta":124,"head_meta":126,"extra_data":128,"updated_unix":130},105,"en","aborted-but-not-forgotten-kv-cache-retention-breaks-rollback-consistency-in-language-agents","ABORTED BUT NOT FORGOTTEN - KV-CACHE RETENTION BREAKS ROLLBACK CONSISTENCY IN LANGUAGE AGENTS","","Stateful language agents assume a rejected branch can be taken back, yet retained key/value (KV) cache across a logical abort makes the model attend to stale state while the application transcript shows a clean rollback. This creates a hidden rollback consistency gap invisible to the application layer. Using a same-token/different-cache audit, the work isolates cache effects from text effects across open-weight model families. Results show the stale KV can flip protected typed effects and enable artifact exfiltration, while cache rebuilds or cold restarts close the channel.",{"@graph":69,"@context":123},[70,84,106],{"@type":71,"itemListElement":72},"BreadcrumbList",[73,77,79,82],{"item":74,"name":75,"@type":76,"position":8},"https://docshare.wps.com","Home","ListItem",{"item":78,"name":9,"@type":76,"position":14},"https://docshare.wps.com/document/",{"item":80,"name":40,"@type":76,"position":81},"https://docshare.wps.com/document/research-report/",3,{"item":83,"name":65,"@type":76,"position":19},"https://docshare.wps.com/document/aborted-but-not-forgotten-kv-cache-retention-breaks-rollback-consistency-in-language-agents/273434/",{"url":83,"name":65,"@type":85,"image":86,"author":91,"headline":65,"publisher":94,"fileFormat":97,"inLanguage":63,"description":67,"dateModified":98,"datePublished":99,"encodingFormat":97,"isAccessibleForFree":100,"interactionStatistic":101},"DigitalDocument",{"url":87,"@type":88,"width":89,"height":90},"https://docshare.wps.com/thumbnails/aborted-but-not-forgotten-kv-cache-retention-breaks-rollback-consistency-in-language-agents/273434.png","ImageObject",300,407,{"name":92,"@type":93},"Lucas Martin","Person",{"url":74,"name":95,"@type":96},"DocShare","Organization","application/pdf","2026-11-04","2026-09-15",true,{"@type":102,"interactionType":103,"userInteractionCount":105},"InteractionCounter",{"@type":104},"ViewAction",22,{"@type":107,"mainEntity":108},"FAQPage",[109,115,119],{"name":110,"@type":111,"acceptedAnswer":112},"What problem does the paper identify in stateful language agents during aborts?","Question",{"text":113,"@type":114},"When an application aborts a rejected branch, it clears the transcript, but retained KV cache can keep the rejected branch in the model’s attended state. This breaks the expectation that the logical abort fully restores the state used for inference.","Answer",{"name":116,"@type":111,"acceptedAnswer":117},"How does the paper separate cache-related effects from text-based prompt effects?",{"text":118,"@type":114},"It uses a same-token/different-cache audit that keeps decision-step tokens identical across two test arms while varying only whether the cached prefix is stale retained KV or rebuilt from the committed transcript.",{"name":120,"@type":111,"acceptedAnswer":121},"What are the main experimental outcomes across model families?",{"text":122,"@type":114},"Across seven open-weight families and 63 audited cells, stale retained KV flips a protected effect in 25 cells, enabling changes in delivery of a sensitive artifact. Rebuilding the cache from the committed transcript closes all audited cells, and cold restarts also prevent the channel.","https://schema.org",{"og:url":83,"og:type":125,"og:title":65,"og:site_name":95,"og:description":67},"article",{"robots":127,"canonical":83},"index,follow",{"doc_id":129,"site_id":62},273434,1789471419,{"code":4,"msg":5,"data":132},{"doc_id":129,"user_id":133,"nickname":92,"user_avatar":134,"doc_module":4,"category_id":39,"category_name":40,"doc_title":65,"doc_description":67,"doc_content":135,"file_id":136,"file_url":137,"file_type":138,"file_size":139,"view_count":105,"is_deleted":4,"is_public":8,"is_downloadable":8,"audit_status":8,"page_count":140,"language":141,"language_code":63,"site_id":62,"html_lang":63,"table_of_contents":142,"faqs":143,"seo_title":144,"seo_description":67,"update_tm":130,"read_time":145,"preview_page_count":4},8796095360427,"https://ap-avatar.wpscdn.com/davatar_994ba38a5ba835b3df7d355c54d3ed8d","ABORTED BUT NOT FORGOTTEN: KV-CACHE RETENTION BREAKS  \nROLLBACK CONSISTENCY IN LANGUAGE AGENTS  \narXiv :2608 . 15939v1 [ cs .CL] 16 Aug 2026  \nGuijia Zhang  \nThe Hong Kong University of Science and Technology  \nHarry Yang  \nThe Hong Kong University of Science and Technology  \nABSTRACT  \nStateful language agents assume a rejected branch can be taken back: the application clears its transcript and continues as if it never happened. We show this breaks when the serving session keeps its key/value (KV) cache across the logical abort, as it does whenever an application reuses a session handle or a cached past key values for latency. The model then runs on state the application believes it discarded. We formalize the missing guarantee as rollback consistency: a believed-complete abort must restore the state the model attends, not just the transcript. The point is not that deleted content leaves a trace in cached state, but that a correct logical rollback need not compose with the retained inference state, and this cross-layer gap stays invisible to the application. To separate a cache effect from a text effect, we introduce a same-token / different-cache audit that holds the decision-step tokens token-identical and varies only whether the cached prefix is a stale retained branch or one rebuilt from the committed transcript. Across seven open-weight families (3 .8B–36B), a rejected branch that survives only in retained KV flips a typed protected effect, exfiltrating a sensitive artifact to an attacker endpoint, in 25 of 63 audited cells, while the attacker tokens are provably absent from the served request in all 63; rebuilding the cache from the committed transcript closes every cell. The exploit reproduces at the API boundary of an end-to-end session application and on a widely used framework’s default cache-reuse path with no tensor surgery, and even when the abort is driven by a first-class rollback API (LangGraph time-travel), a verified logical rollback still leaves the attended KV stale. Susceptibility varies across models; the underlying attended-state integrity violation does not. We rule out a position or length confound and show the channel generalizes across protected effects, policy structures, and a cacheisolated Mixture-of-Experts model. A transaction-local cache restore closes the channel cheaply, where a global flush or full restart does not. All headline numbers are deterministic, sealed measurements that our artifact regenerates.  \n1 INTRODUCTION  \nModern language-agent runtimes are built around the assumption that a branch can be taken back. Frameworks expose rejection, pause, rollback and abort; an application that dislikes a proposed action rejects it, drops the branch from its transcript, and proceeds as if it never happened. Developers reason about safety against the state they believe this abort restored. Independently, the same runtimes reuse key/value (KV) state for latency: a session handle, a cached past key values, ora prefix/prompt cache lets the next step skip recomputation (Kwon et al., 2023; Gim et al., 2024; Zheng et al., 2024) . The central observation of this paper is that these two facts collide. When a session retains KV across a logical abort, the state the model actually attends to still contains the rejected branch, even though the application’s transcript does not. The logical view is clean; the physical KV is stale (Figure 1) .  \nWe show that this rollback inconsistency is a hidden channel. After a developer-believed-complete abort, content from a rejected branch that survives only in the retained KV reproducibly changes a later typed protected effect and its downstream harm. The channel does not require an ex-  \nplicit override instruction. It fires under merely neutral residue that states a recipient without any command, and stronger imperative residue only increases exploitability; we report the flip count separately by residue strength (Table 1, Appendix D) rather than pooling them. In ","cbCaimEdQ9tOBkne","https://ap.wps.com/l/cbCaimEdQ9tOBkne","pdf",411674,21,"English","# Introduction\n## Stateful aborts and retained KV state\n## Hidden channel via rollback inconsistency\n## Identification: same-token / different-cache audit\n## Findings and exploit evaluation","[{\"question\":\"What problem does the paper identify in stateful language agents during aborts?\",\"answer\":\"When an application aborts a rejected branch, it clears the transcript, but retained KV cache can keep the rejected branch in the model’s attended state. This breaks the expectation that the logical abort fully restores the state used for inference.\"},{\"question\":\"How does the paper separate cache-related effects from text-based prompt effects?\",\"answer\":\"It uses a same-token/different-cache audit that keeps decision-step tokens identical across two test arms while varying only whether the cached prefix is stale retained KV or rebuilt from the committed transcript.\"},{\"question\":\"What are the main experimental outcomes across model families?\",\"answer\":\"Across seven open-weight families and 63 audited cells, stale retained KV flips a protected effect in 25 cells, enabling changes in delivery of a sensitive artifact. Rebuilding the cache from the committed transcript closes all audited cells, and cold restarts also prevent the channel.\"}]","ABORTED BUT NOT FORGOTTEN - KV-CACHE RETENTION BREAKS ROLLBACK CONSISTENCY IN LANGUAGE AGENTS | PDF",53]