A state-changing function that should be restricted (mint, withdraw, setOwner, upgrade) has no authorization modifier, letting any address call it and seize control or funds.
function setOwner(address newOwner) external onlyOwner {
require(newOwner != address(0), "zero");
owner = newOwner;
}
Incidents this entry cites by name:
Largest recorded losses in the same failure class — related, not the same bug:
The SaferICO scanner runs 201 detectors over your Solidity source, SAFE-0006 among them. Paste an address or the source itself — a small per-scan fee, shown before you sign, or unlimited on any plan.