The streaming CMS AuthenticatedData parser fails to properly validate the consistency between the `digestAlgorithm` and `authAttrs` fields. According to RFC 5652, `authAttrs` must be present whenever `digestAlgorithm` is. The `CMSAuthenticatedDataParser` constructor relies solely on `digestAlgorithm` to determine if authenticated attributes are present. Consequently, if `digestAlgorithm` is absent but `authAttrs` is present, the parser verifies the content MAC but returns the attributes via `getAuthAttrs()` as if they were authenticated, even though the MAC did not cover them. This allows an attacker to modify a message in transit to insert an authenticated attribute, such as an RFC 2634 ESSSecurityLabel, without possessing the key-encryption or content-MAC keys. Applications relying on these attributes for authorization, routing, or labeling decisions may then act on attacker-controlled values.