Can a virtual machine (VM) ever overwrite the host disk, or a host a guest disk, or a guest another guest disk?
"Ever" is a very long time, and if someone knows how to access other Guest or Host from a VM (I do know how), then yes, of course it is possible.
However, erase space or even a whole machine will not overwrite other systems outside its bounds.
Windows and Linux guests delete unused space from time to time with no issues.
I compact Virtual Disks (Windows and Linux) to recover deleted VM space with no issue.
What you want to do (expand a virtual disk or delete space inside a virtual disk) will not harm a host system or other guest.
Just make sure you do not run out of real disk space. That can cause issues to any system.
Anecdotal note: The first time I built a VM (Windows 98 which I still have on VMware Workstation Version 1 on a Windows NT4 Workstation host), the Windows 98 setup said "I am going to format your hard drive"
I sure did pause before saying OK, so your question is most reasonable and well put.
Can a virtual machine (VM) ever overwrite the host disk,
Virtual Machine hosts have had security holes that let a guest break out of its VM, and history and experience tells us that this will happen again.
Once the guest breaks out of the VM, it can do whatever the host can do.
or a host a guest disk,
The host always has full control, it can do whatever it wants.
or a guest another guest disk?
Once a guest manages to break out of the VM, it can do whatever the host can do, so this reduces to #2.
Obviously, a simple configuration error where the same virtual disk is attached in writeable mode to multiple guest VMs, or where a physical disk of the host is attached in passthrough mode to a guest VM breaks down all protection as well, without needing a somewhat esoteric security bug.
It really depends on how you configure things on the host side to know if there's going to be trouble down the road.
By default, if you create a VM with storage, a file is created that hosts the storage for this VM. In these cases, the guest cannot make any changes to the host, and in case of a dynamically sized disk, once the disk wants to write data that is larger than the allocated space because the host's disk is full, a write error occurs within the guest, that's it.
The problem here is that writing fails but doesn't give a clear meaning in the guest. It can be harder to troubleshoot, but it will be something like: "Error writing to file. Make sure the disk is writable. Even if your disk says enough space is full it will just not allow any writes. If you then inspect the host, you'll find out the disk is full. On the host side, you get a clear message that the disk is full because the host can actually see it, just not the guest.
Now, in which situation can a guest actually destroy data on a host's drive?
It is possible to assign a physical disk as storage medium for a VM. If this physical disk is also used by the system itself, you basically grant the guest access to the host in a way that was not intended. It is not what anyone should do, but I'm just naming it because it actually is possible.
Guest space to the guest
Even though the guest thinks its on a normal computer, it is all a virtual environment. Because the guest cannot actually tell it is inside a virtual environment, the messages you see on screen will not reflect that either. If it says: I'm going to delete all your data on your disk, it is only all the data the guest has access to which is what you defined in the host. Whether this is a virtual disk or physical disk as pass through, to the guest it is exactly the same.