Eh. Bugs get fixed as they're found, but I don't see much evidence of it being taken into consideration when adding new code (in Linux, at least - it wouldn't surprise me if Windows were better in this respect)
Yeah, that is right. A bug can only be fixed once it has been found.. the question now is whether the rate of bugs found is greater than the rate of insertion of new bugs (which I guess is proportional to the number of new lines of code). If not the future is going to be terrible.. :D
If the attacker just provides a file system that contains setuid shells or unsecured device files, that's not really a bug and not remotely exploitable. But it's still a vulnerability.
Hopefully filesystems mounted by normal users will have nosuid,nodev enforced (whoever is responsible for this these days, policykit??). Please tell me I'm correct...