The vulnerability is an XML External Entity (XXE) injection flaw within the XML validation functionality of the cyclonedx-core-java library. The root cause is the insecure configuration of javax.xml.validation.SchemaFactory in the org.cyclonedx.CycloneDxSchema.getXmlSchema method. This method failed to disable the processing of external XML entities, which is a requirement for preventing XXE attacks.
The fixing commit, af0ec75c93c03f93733a070c5132554490af5314, directly patches the getXmlSchema method by setting the ACCESS_EXTERNAL_DTD and ACCESS_EXTERNAL_SCHEMA properties to empty strings and enabling the FEATURE_SECURE_PROCESSING feature. This prevents the XML parser from resolving external entities during schema validation.
The vulnerable getXmlSchema method is called by the public validate methods in the org.cyclonedx.parsers.XmlParser class. These validate methods are the primary user-facing entry points for triggering the vulnerability. An attacker would supply a malicious XML document to one of these methods, which would then use the insecurely generated schema, leading to the XXE injection. The patch confirms this by adding a test case, validateShouldNotBeVulnerableToXxe, which attempts to validate a malicious XML file and asserts that the external entity processing is correctly denied.