[1]: https://thenextweb.com/dd/2019/06/04/why-does-macos-catalina...
[1]: https://thenextweb.com/dd/2019/06/04/why-does-macos-catalina...
Which is a quite different issue.
They are allowed, but some of the legal consequences to the new terms in GPLv3 are worth stalling updates, choosing alternative system components and even rewriting components to avoid.
Apple doesn't want to ship a new version because they don't want people to see how they've modified bash. I don't know what patents or top secret features they've added to make their version of bash incompatible with GPL, as they're allowed to ship GPL code in a closed source product just fine as long as they ship it as a separate binary, but it's more important than their users' convenience apparently.
Also note that Microsoft ships entire Linux distros without having a problem with GPL licensing.
This is just false, the old bash is GPL2 and Apple publishes the source for their bash on their open source compliance page. The reason they don't upgrade is the GPL3 patent grant clause, they ship the last GPL2 release for all GNU utils. The linux kernel is GPL2, so Microsoft doesn't have this problem.
I don't exactly know how WSL2 works, but the main difference is that they now use an actual Linux kernel inside a lightweight VM, and that kernel's source is on GitHub. Userland still comes from appx-wrapped tarballs from Canonical.
I suspect Microsoft is also very careful to make sure they don't ship any GPL v3 components with Windows itself, even when they're available via separate download, because they want to be able to ship locked down devices.
And I don't see what the problem is. Okay, so they'd have to let you replace the bash binary. That doesn't give you any abilities you don't already have.