{"id":"CVE-2026-116132","kind":"vulnerability","aliases":["CVE-2026-116132"],"related":[],"title":"Perl HTTP::Body: incomplete multipart uploads leave temp files on disk","description":"HTTP::Body versions before 1.23_01 for Perl leave the temporary file of an incomplete multipart upload on disk.\n\nThe multipart parser creates a temporary file as soon as a file part starts, but adds it to the upload list only when the part completes. Uploads are only ever deleted from that list, by the cleanup option or by the caller, so a body that ends inside a file part leaves its temporary file where nothing can find it.\n\nA remote attacker can fill the temporary directory by repeating such requests, leaving one file behind for each.","summary":"HTTP::Body, a Perl module for parsing request bodies, creates a temporary file for a multipart file part but never records it when the upload ends early, so the file is never cleaned up. A remote attacker can repeat such requests to fill the temporary directory.","severity":"low","cvss":null,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["http-body","package","perl","self-hosted"],"not_affected_if":["no-file-uploads","non-perl-stack"],"how_to_check":"- Check the installed version with `perl -MHTTP::Body -e 'print $HTTP::Body::VERSION'`\n- Look for a `HTTP::Body` line with a version below `1.23_01` in the `cpanfile`, `cpanfile.snapshot` or `Makefile.PL` of each Perl application\n- Confirm the application parses multipart uploads through HTTP::Body (for example through Catalyst or another framework that uses it)","fix":"- Upgrade HTTP::Body to `1.23_01` or later\n- Until upgraded, clear the temporary upload directory regularly and monitor its free space","status":"open","published_at":"2026-10-28T18:17:12+00:00","first_seen_at":"2026-10-28T18:34:32+00:00","triaged_at":"2026-10-28T18:35:37+00:00","updated_at":"2026-10-28T18:35:37+00:00","category":"package","confidence":0.6,"triage":{"at":"2026-10-28T18:35:37Z","model":"claude-haiku-5-5","output":{"fix":"- Upgrade HTTP::Body to `1.23_01` or later\n- Until upgraded, clear the temporary upload directory regularly and monitor its free space","reach":"internet","title":"Perl HTTP::Body: incomplete multipart uploads leave temp files on disk","impact":"low","summary":"HTTP::Body, a Perl module for parsing request bodies, creates a temporary file for a multipart file part but never records it when the upload ends early, so the file is never cleaned up. A remote attacker can repeat such requests to fill the temporary directory.","category":"package","nicknames":[],"who_cares":["perl","http-body","self-hosted"],"confidence":0.6,"needs_auth":"no","worst_case":"Remote requests fill the temporary directory until the disk runs out of space","analyst_note":"","how_to_check":"- Check the installed version with `perl -MHTTP::Body -e 'print $HTTP::Body::VERSION'`\n- Look for a `HTTP::Body` line with a version below `1.23_01` in the `cpanfile`, `cpanfile.snapshot` or `Makefile.PL` of each Perl application\n- Confirm the application parses multipart uploads through HTTP::Body (for example through Catalyst or another framework that uses it)","needs_analyst":false,"not_affected_if":["no-file-uploads","non-perl-stack"],"who_is_affected":"Perl web applications that accept multipart file uploads and parse them with HTTP::Body, including applications that get it indirectly through a framework, are exposed. Applications that do not accept file uploads, or that run behind a front end which rejects or limits multipart bodies, are much less exposed. Teams that do not run Perl web code can skip it.","user_interaction":"no","needs_special_setup":"unknown","severity_if_unknown":"low"},"cost_usd":0.000653,"input_tokens":3386,"output_tokens":628,"severity_before":"unknown"},"analyst_status":null,"analyst_note":null,"search":"'-116132':14A,17A '-2026':13A,16A '01':77C '1.23':76C 'add':106C 'attack':62B,153C 'behind':166C 'bodi':3A,20B,27B,34B,73C,135C 'caller':132C 'clean':58B 'cleanup':127C 'complet':116C 'creat':35B,94C 'cve':12A,15A 'delet':121C 'directori':71B,158C 'disk':11A,90C 'earli':52B 'end':51B,137C 'ever':120C 'file':9A,38B,42B,55B,83C,97C,102C,140C,145C,165C 'fill':68B,155C 'find':149C 'host':25B 'http':2A,19B,26B,72C 'http-bodi':18B 'incomplet':4A,86C 'insid':138C 'leav':7A,80C,142C,163C 'list':111C,124C 'modul':30B 'multipart':5A,41B,87C,92C 'never':45B,57B 'noth':147C 'one':164C 'option':128C 'packag':21B 'pars':32B 'parser':93C 'part':43B,103C,115C,141C 'perl':1A,22B,29B,79C 'record':46B 'remot':61B,152C 'repeat':64B,160C 'request':33B,66B,162C 'self':24B 'self-host':23B 'soon':99C 'start':104C 'temp':8A 'temporari':37B,70B,82C,96C,144C,157C 'upload':6A,50B,88C,110C,117C 'version':74C","nicknames":[],"mitigations":[],"who_affected":"Perl web applications that accept multipart file uploads and parse them with HTTP::Body, including applications that get it indirectly through a framework, are exposed. Applications that do not accept file uploads, or that run behind a front end which rejects or limits multipart bodies, are much less exposed. Teams that do not run Perl web code can skip it.","tier":"C","verified":{},"analyst_revisit_at":null,"first_public_at":"2026-10-28T18:17:12+00:00","kev":null,"cvss_vector":null,"cvss_by":null,"poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-116132","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-116132","severity":null,"published_at":"2026-10-28T18:17:12+00:00","modified_at":"2026-10-28T18:17:12+00:00","first_seen_at":"2026-10-28T18:34:32+00:00","fetched_at":"2026-10-28T18:34:32+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"}