When attempting to update my app, I experienced this problem as well. The only real change to my app since I last submitted it was the addition of iCloud support. I suspected something was wrong with my entitlements, and the error email I got from the itunesconnect@apple.com submit bot was very fishy. The relevant portion read:
Specifically, value "XXXXXXXXXXX.com.mydomain.myappmame" for key
"com.apple.developer.ubiquity-container-identifiers" in
MyAppName is not supported.
I've anonymized the app/domain/team id here to MyAppName / mydomain.com / XXXXXXXXXX. Note that the complaint says "XXXXXXXXXXX.com.mydomain.myappmame" is incorrect. Indeed it is incorrect. It should be "myappname", not "myappmame" with an 'm' instead of 'n'. I looked in the entitlement file in my project, and it was correct. I looked at the entitlement file included in the app bundle I submitted to the store, and it was correct. I unzipped the zip file I submitted to the store, and the entitlements file was correct there as well. So clearly this character substitution was happening after the app submission was accepted by the App Store.
Surely this problem doesn't affect everyone, or there would be a mass outcry. So I figured it likely that there's something "special" about my app that invokes a bug in the automated App Store submit processing. To verify, I created a new empty app from scratch, enabled iCloud entitlements, and submitted it to the App Store with a new app identifier. It was accepted and status changed to "waiting for review". So it passed muster. (I rejected the binary immediately so it wouldn't be reviewed :)
I managed to work around the problem by changing my entitlements file:
<plist version="1.0">
<dict>
<key>com.apple.developer.ubiquity-container-identifiers</key>
<array>
<string>$(TeamIdentifierPrefix)com.mydomain.myappname</string>
</array>
</dict>
</plist>
to this:
<plist version="1.0">
<dict>
<key>com.apple.developer.ubiquity-container-identifiers</key>
<array>
<string>XXXXXXXXXX.com.mydomain.myappname</string>
</array>
</dict>
</plist>
My hope was that whatever code in the App Store that performs the team identifier prefix was the culprit, and was somehow corrupting a character farther down the string. By doing that substitution myself, perhaps the corruption wouldn't occur and my app would go through. Surprise! It worked.
I wasted a day trying to figure this one out, and haven't heard back from Apple support yet. But it's sort of academic, since my app is now waiting for review. But I would still like to know what caused this, and that it's been fixed by Apple. If I ever find out, I'll update this posting.