/var/www/cgi-bin/firmware.cgi is meant to look up the newest firmware version on Github during load if there is an Internet connection. However, the logic used is very brittle: It assumes you can reach the entire Internet if a network_gateway is set. This breaks when you have your camera on a local network, but firewalled to deny broad Internet access. The check for the newest firmware version runs into a timeout in this case and the page eventually loads, but it takes minutes and looks to the user like something has crashed/failed.
The firmware update page is still very useful when there is no Internet access, as the user can manually download and provide updated rootfs and kernel files.