O> GPL itself does not. But the author(s) may when they specify "any
> later version", "dual GPL/BSD", etc. In this case (IMHO) distributor
> in fact relicenses the code and may reduce license to sipmply BSD or
> simply GPL, or "GPL v3 from now on". To "restore" license you would
> need to go upstream and get the code from there.
I don't see anything in the GPL that permits a redistributor to change
the licence a piece of code is distributed under. If my code is GPL v2 or
later you cannot take away the "or later" unless explicitly granted
powers by the author to vary the licence.
What you most certainly can do is modify it and decide your modifications
are GPLv3 only thus creating a derived work which is GPLv3 only. However
anyone receiving your modified version and reverting the modifications is
back at v2 or later.