I'm still running an old version of Virtualbox (5.2.20), which is probably unsupported at this point. One day, it started crashing whenever I had a VM open and went to Devices, Optical Drives.
The problem was that one of the ISOs I had mounted previously was on a network file server that didn't exist anymore. I tried editing various VBox XML files, but they kept refreshing and including the old ISO file.
What I ended up doing was I temporarily changed another file server's IP to that of the old file server and I put an ISO file with the same name in the previous location. Virtualbox seemed happy with this. However, I wasn't able to find a good way to clear the recent ISO files list, so I tried the brute-force method: I mounted several other ISOs until it dropped off the list of recent ISO files.
After changing my file server's IP back, everything worked fine again.
I figured this out by using Process Monitor to figure out what the Virtualbox process was accessing. When I saw it trying to pull up network paths, I ran Wireshark to see what was happening when it tried to access the server that wasn't there anymore.