Security
-
Fix ZIP bomb vulnerability in
massStoreRun
Theunzip()function inmassStoreRunpreviously decompressed the entire uploaded ZIP into memory before writing it to disk, making it trivially exploitable by a malicious client sending a highly-compressed payload (ZIP bomb). The fix applies two independent limits using a 16 GiB cap:- During
zlibdecompression,decompressobj().decompress()is now called withmax_length=16 GiB; a non-emptyunconsumed_tailafter decompression indicates the limit was exceeded and the request is rejected. - During ZIP extraction, file sizes are accumulated per-member before extraction; if the total exceeds 16 GiB the request is rejected before any data is written.
- During
-
Prevent XSS script injection in static HTML output
CodeChecker parseandCodeChecker cmd diffcan generate static HTML pages displaying reports. Report messages containing</script>tags could previously be injected into the page's code, enabling XSS attacks. This is now properly escaped. -
Invalidate session tokens at logout across all worker processes
After a user logs out, session tokens are now invalidated at all worker processes. Session validity is checked in the central database on each API request, throttled by therefresh_timeconfiguration parameter.