As of version 1.6.0, the default method used by Geth for syncing the chaindata is "fast":
The default sync mode is --syncmode=fast, for full sync please use --syncmode=full.
Previously, the default was "full", with the user having to explicitly pass the
--fast flag to bring about a "fast" sync.
...Fast sync indeed has one additional weakness compared to full sync. As long as an attacker can keep you isolated from the main chain (e.g. infect your router), it may construct an arbitrary state that your node will believe
Is this weakness no longer the case, and if so, why not?