CVE-2021-25636

Title: Incorrect trust validation of signature with ambiguous KeyInfo children

Announced: February 22, 2022

Fixed in: LibreOffice 7.2.5/7.3.0

Description:

LibreOffice supports digital signatures of ODF documents and macros within documents, presenting visual aids that no alteration of the document occurred since the last signing and that the signature is valid.

An Improper Certificate Validation vulnerability in LibreOffice allowed an attacker to create a digitally signed ODF document, by manipulating the documentsignatures.xml or macrosignatures.xml stream within the document to contain both "X509Data" and "KeyValue" children of the "KeyInfo" tag[1], which when opened caused LibreOffice to verify using the "KeyValue" but to report verification with the unrelated "X509Data" value.

In versions >= 7.2.5 (and >= 7.3.0) certificate validation is configured to only consider X509Data children to limit validation to X509 certificates only.

[1] https://www.w3.org/TR/xmldsig-core1/#sec-KeyInfo

Credits:

  • Thanks to NDS of Ruhr University Bochum for discovering and reporting this problem.
  • Thanks to Aleksey Sanin for advice on a solution

References:

    CVE-2021-25636