You added the word "nominal" but the GPL offers no guidance for how large the fee can be. RedHat appears to be breaking norms here but probably not breaking the license.
GPLv2: You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee.
GPLv3: You may charge any price or no price for each copy that you convey, and you may offer support or warranty protection for a fee.
> GPL does not allow for gating the source code. Full stop.
RedHat is getting around this by saying "If you ask for it, we'll give you the source code for a high fee. If the source code we give you gets released to others, that's totally fine! We'll just immediately terminate all business dealings with you forever, if it does." GPLv3 has some language that very arguably might prevent this, but CentOS is licensed under GPLv2 and no one has found a clause which makes this behavior obviously improper, yet.
> Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein.
How does "we'll just immediately terminate all business dealings with you forever" not sound like a retaliatory restriction on the recipients' exercise of their rights?
A enterprise has the right to refuse customers if the reason isn't discrimination of race, color, religion, sex, sexual orientation, gender identity or nationality.
"I violated a contract I made with them" isn't one of those.
GPL does not allow for gating the source code. Full stop. You are allowed to charge a nominal fee for the distribution of source code. For example, back in the day it may have to be mailed to you via floppy diskette or CD's so you would be charged for the media and for the time for someone to put that together. Walnut Creek used to sell CD bundles of all source code for something like $20 back in the day and you'd get several CD's of source and all the make files needed to build it.