{"id":"CVE-2026-123776","kind":"vulnerability","aliases":["CVE-2026-123776"],"related":[],"title":"Perl RRD::CGI::Image: CGI query parameter can hang the process","description":"RRD::CGI::Image versions through 0.01 for Perl pass CGI query parameters containting \"tz\" to tzset(), , so a FIFO or device path blocks the CGI process.\n\nThe normalize_params method sends any query key matching /tz/i to tz(), which sets $ENV{TZ} to that value, with no validation. It then calls tzset(). glibc treats a TZ value starting with / or : as a file path and opens it, so a value naming a FIFO or a blocking device stalls the process inside tzset().","summary":"RRD::CGI::Image through version 0.01 passes any CGI query parameter whose name contains \"tz\" into the TZ environment variable and calls tzset() without validation. A value naming a FIFO or blocking device makes glibc open that path and stall the CGI process, which a remote requester can use to block it.","severity":"medium","cvss":null,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["cgi","package","perl","rrd","self-hosted"],"not_affected_if":["auth-required","module-not-installed"],"how_to_check":"- Check whether the Perl module is installed: `perl -MRRD::CGI::Image -e 'print $RRD::CGI::Image::VERSION'`\n- Look for `RRD::CGI::Image` in CGI scripts or dependency lists that serve requests on the web.","fix":null,"status":"open","published_at":"2026-11-07T12:17:46+00:00","first_seen_at":"2026-11-07T12:47:09+00:00","triaged_at":"2026-11-07T12:49:15+00:00","updated_at":"2026-11-07T12:49:15+00:00","category":"package","confidence":0.6,"triage":{"at":"2026-11-07T12:49:15Z","model":"claude-haiku-5-5","output":{"fix":"unknown","reach":"internet","title":"Perl RRD::CGI::Image: CGI query parameter can hang the process","impact":"low","summary":"RRD::CGI::Image through version 0.01 passes any CGI query parameter whose name contains \"tz\" into the TZ environment variable and calls tzset() without validation. A value naming a FIFO or blocking device makes glibc open that path and stall the CGI process, which a remote requester can use to block it.","audience":"developers","category":"package","nicknames":[],"who_cares":["perl","cgi","rrd","self-hosted"],"confidence":0.6,"fix_status":"unknown","needs_auth":"no","worst_case":"A request stalls the CGI process indefinitely, causing denial of service","analyst_note":"Check the NVD entry and the upstream RRD::CGI::Image repository for a fixed version; the sources give no fix version.","how_to_check":"- Check whether the Perl module is installed: `perl -MRRD::CGI::Image -e 'print $RRD::CGI::Image::VERSION'`\n- Look for `RRD::CGI::Image` in CGI scripts or dependency lists that serve requests on the web.","plain_action":"","needs_analyst":true,"not_affected_if":["module-not-installed","auth-required"],"who_is_affected":"Only web services that run RRD::CGI::Image as a CGI handler and expose it to requests reach this code path. The flaw is in the query parameter handling of normalize_params, so an exposed CGI endpoint is what matters. Teams that do not run this module, or run it only behind authentication, can skip it.","user_interaction":"no","needs_special_setup":"unknown","severity_if_unknown":"medium"},"cost_usd":0.000727,"input_tokens":4301,"output_tokens":593,"severity_before":"unknown"},"analyst_status":null,"analyst_note":null,"search":"'-123776':14A,17A '-2026':13A,16A '/tz/i':111C '0.01':30B,81C 'block':56B,75B,98C,151C 'call':46B,126C 'cgi':3A,5A,18B,26B,33B,66B,77C,85C,100C 'contain':38B 'containt':88C 'cve':12A,15A 'devic':57B,96C,152C 'env':116C 'environ':43B 'fifo':54B,94C,148C 'file':138C 'glibc':59B,128C 'hang':9A 'host':24B 'imag':4A,27B,78C 'insid':156C 'key':109C 'make':58B 'match':110C 'method':105C 'name':37B,52B,146C 'normal':103C 'open':60B,141C 'packag':19B 'param':104C 'paramet':7A,35B,87C 'pass':31B,84C 'path':62B,97C,139C 'perl':1A,20B,83C 'process':11A,67B,101C,155C 'queri':6A,34B,86C,108C 'remot':70B 'request':71B 'rrd':2A,21B,25B,76C 'self':23B 'self-host':22B 'send':106C 'set':115C 'stall':64B,153C 'start':133C 'treat':129C 'tz':39B,42B,89C,113C,117C,131C 'tzset':47B,91C,127C,157C 'use':73B 'valid':49B,123C 'valu':51B,120C,132C,145C 'variabl':44B 'version':29B,79C 'whose':36B 'without':48B","nicknames":[],"mitigations":[],"who_affected":"Only web services that run RRD::CGI::Image as a CGI handler and expose it to requests reach this code path. The flaw is in the query parameter handling of normalize_params, so an exposed CGI endpoint is what matters. Teams that do not run this module, or run it only behind authentication, can skip it.","tier":"C","verified":{},"analyst_revisit_at":null,"fix_status":"none","audience":"developers","plain_action":null,"pkeys":[],"ptokens":[],"labels":["cgi","medium","package","perl","rrd","selfhosted"],"campaign_type":null,"search_a":"'-123776':14A,17A '-2026':13A,16A 'cgi':3A,5A 'cve':12A,15A 'hang':9A 'imag':4A 'paramet':7A 'perl':1A 'process':11A 'queri':6A 'rrd':2A","search_b":"'0.01':30B 'block':56B,75B 'call':46B 'cgi':18B,26B,33B,66B 'contain':38B 'devic':57B 'environ':43B 'fifo':54B 'glibc':59B 'host':24B 'imag':27B 'make':58B 'name':37B,52B 'open':60B 'packag':19B 'paramet':35B 'pass':31B 'path':62B 'perl':20B 'process':67B 'queri':34B 'remot':70B 'request':71B 'rrd':21B,25B 'self':23B 'self-host':22B 'stall':64B 'tz':39B,42B 'tzset':47B 'use':73B 'valid':49B 'valu':51B 'variabl':44B 'version':29B 'whose':36B 'without':48B","search_c":"'/tz/i':111C '0.01':81C 'block':98C,151C 'call':126C 'cgi':77C,85C,100C 'containt':88C 'devic':96C,152C 'env':116C 'fifo':94C,148C 'file':138C 'glibc':128C 'imag':78C 'insid':156C 'key':109C 'match':110C 'method':105C 'name':146C 'normal':103C 'open':141C 'param':104C 'paramet':87C 'pass':84C 'path':97C,139C 'perl':83C 'process':101C,155C 'queri':86C,108C 'rrd':76C 'send':106C 'set':115C 'stall':153C 'start':133C 'treat':129C 'tz':89C,113C,117C,131C 'tzset':91C,127C,157C 'valid':123C 'valu':120C,132C,145C 'version':79C","first_public_at":"2026-11-07T12:17:46+00:00","kev":null,"cvss_vector":null,"cvss_by":null,"poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-123776","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-123776","severity":null,"published_at":"2026-11-07T12:17:46+00:00","modified_at":"2026-11-07T12:17:46+00:00","first_seen_at":"2026-11-07T12:47:09+00:00","fetched_at":"2026-11-07T12:47:09+00:00","note":null}],"documents":[],"exploit_sources":[],"notice":"Free to read, with fair use of about 60 pages a minute. For higher limits or API access: sales@infrastack.ai"}