{"action":"closed","issue":{"url":"https://api.github.com/repos/tgstation/-tg-station/issues/13481","labels_url":"https://api.github.com/repos/tgstation/-tg-station/issues/13481/labels{/name}","comments_url":"https://api.github.com/repos/tgstation/-tg-station/issues/13481/comments","events_url":"https://api.github.com/repos/tgstation/-tg-station/issues/13481/events","html_url":"https://github.com/tgstation/-tg-station/issues/13481","id":120640413,"number":13481,"title":"Denial of Service via completed_asset_jobs topic calls ","user":{"login":"Chnkr","id":9084344,"avatar_url":"https://avatars.githubusercontent.com/u/9084344?v=3","gravatar_id":"","url":"https://api.github.com/users/Chnkr","html_url":"https://github.com/Chnkr","followers_url":"https://api.github.com/users/Chnkr/followers","following_url":"https://api.github.com/users/Chnkr/following{/other_user}","gists_url":"https://api.github.com/users/Chnkr/gists{/gist_id}","starred_url":"https://api.github.com/users/Chnkr/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Chnkr/subscriptions","organizations_url":"https://api.github.com/users/Chnkr/orgs","repos_url":"https://api.github.com/users/Chnkr/repos","events_url":"https://api.github.com/users/Chnkr/events{/privacy}","received_events_url":"https://api.github.com/users/Chnkr/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2015-12-06T15:26:16Z","updated_at":"2015-12-06T15:39:44Z","closed_at":"2015-12-06T15:39:44Z","body":"You can manually call the [asset_cache_confirm_arrival topic](https://github.com/tgstation/-tg-station/blob/2f0a221c8c822ae77487bcf4d377e054d81727d9/code/modules/client/client%20procs.dm#L25), to insert new items into the [completed_asset_jobs list](https://github.com/tgstation/-tg-station/blob/a6304bc60ae5549654e5ab95cc5c9388224dc8db/code/modules/client/asset_cache.dm#L25) which resides inside the client datum.\r\n\r\nlist insertions, modifications, and removals are godawful, and thus allow any potential attacker to completely grind the server to a stopping halt by repeatedly calling the [asset_cache_confirm_arrival topic](https://github.com/tgstation/-tg-station/blob/2f0a221c8c822ae77487bcf4d377e054d81727d9/code/modules/client/client%20procs.dm#L25) using one, or more clients."}}