Cloudanix VulnDB

CVE-2021-25636

High · 7.5

CVSS

7.5

EPSS

1.0%

Published

Feb 24, 2022

CISA due date

—

Cloudanix analysis

Next patch cycle SSVC: Track

A flaw in an older version of LibreOffice could let someone create a signed document that still looks trustworthy even after being changed, potentially allowing altered files to be accepted as authentic.

Exploitation
Remote Unauthenticated
Attacker needs
None
Complexity
Low
Impact
Data Tampering
Component
Application
Class
Cryptographic Weakness
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

Improper certificate validation allows an attacker-supplied ODF document to contain both X509Data and KeyValue elements under KeyInfo in documentsignatures.xml or macrosignatures.xml; LibreOffice performs verification against the KeyValue yet reports success using the unrelated X509Data value, bypassing signature integrity checks.

Why it matters to the business

Organizations that rely on digitally signed ODF documents for legal, compliance, or workflow authenticity may accept altered files as genuine, creating risk of undetected document tampering and downstream process integrity failures; the issue is limited to older 7.2 releases and has shown no widespread exploitation.

How an attack unfolds

An attacker crafts or modifies an ODF file, inserts both X509Data and KeyValue children into the KeyInfo element of the signature streams, signs the document with a controlled key, and distributes the file; when a victim opens it in a vulnerable LibreOffice version the application reports the signature as valid while actually having verified against attacker-controlled material.

How to fix it

Upgrade LibreOffice 7.2 installations to version 7.2.5 or later; for Fedora packages apply the corresponding fixed updates from the distribution; disable macro execution and require out-of-band signature verification until patches are deployed.

How to confirm the fix worked

Confirm LibreOffice version is 7.2.5 or newer; create a test ODF document containing both X509Data and KeyValue elements and verify that the application now rejects the signature rather than reporting it valid.

Typical attack path

  1. Obtain or create an ODF document
  2. Extract and edit documentsignatures.xml or macrosignatures.xml to include both X509Data and KeyValue under KeyInfo
  3. Apply a digital signature using attacker-controlled material
  4. Repackage and distribute the document via email, file share, or web download
  5. Victim opens the document in an affected LibreOffice release, triggering the flawed validation and acceptance of the altered file

How to detect it

Review file-open and macro-execution logs from LibreOffice on endpoints for documents whose signature streams contain both X509Data and KeyValue elements; correlate with network or email logs showing receipt of ODF attachments from untrusted sources around the time of document processing.

What your security team should do

  • Prioritize upgrade of all LibreOffice 7.2 instances to 7.2.5 or newer within the next maintenance window
  • Inventory and re-verify any externally received signed ODF documents opened since the vulnerability disclosure
  • Add LibreOffice version checks to endpoint configuration compliance scans
  • Educate document-handling teams on the risk of accepting digitally signed files from untrusted sources until patches are applied

The record

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, which when opened caused LibreOffice to verify using the "KeyValue" but to report verification with the unrelated "X509Data" value. This issue affects: The Document Foundation LibreOffice 7.2 versions prior to 7.2.5.

Affected packages

Ecosystem Package Introduced Fixed
AlmaLinux:8 autocorr-af 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 autocorr-bg 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 autocorr-ca 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 autocorr-cs 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 autocorr-da 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 autocorr-de 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 autocorr-en 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 autocorr-es 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 autocorr-fa 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 autocorr-fi 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 autocorr-fr 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 autocorr-ga 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 autocorr-hr 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 autocorr-hu 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 autocorr-is 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 autocorr-it 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 autocorr-ja 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 autocorr-ko 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 autocorr-lb 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 autocorr-lt 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 autocorr-mn 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 autocorr-nl 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 autocorr-pl 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 autocorr-pt 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 autocorr-ro 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 autocorr-ru 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 autocorr-sk 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 autocorr-sl 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 autocorr-sr 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 autocorr-sv 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 autocorr-tr 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 autocorr-vi 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 autocorr-zh 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-base 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-calc 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-core 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-data 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-draw 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-emailmerge 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-filters 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-gdb-debug-support 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-graphicfilter 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-gtk3 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-help-ar 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-help-bg 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-help-bn 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-help-ca 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-help-cs 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-help-da 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-help-de 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-help-dz 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-help-el 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-help-en 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-help-es 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-help-et 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-help-eu 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-help-fi 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-help-fr 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-help-gl 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-help-gu 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-help-he 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-help-hi 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-help-hr 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-help-hu 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-help-id 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-help-it 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-help-ja 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-help-ko 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-help-lt 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-help-lv 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-help-nb 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-help-nl 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-help-nn 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-help-pl 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-help-pt-BR 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-help-pt-PT 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-help-ro 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-help-ru 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-help-si 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-help-sk 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-help-sl 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-help-sv 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-help-ta 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-help-tr 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-help-uk 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-help-zh-Hans 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-help-zh-Hant 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-impress 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-langpack-af 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-langpack-ar 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-langpack-as 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-langpack-bg 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-langpack-bn 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-langpack-br 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-langpack-ca 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-langpack-cs 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-langpack-cy 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-langpack-da 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-langpack-de 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-langpack-dz 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-langpack-el 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-langpack-en 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-langpack-es 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-langpack-et 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-langpack-eu 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-langpack-fa 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-langpack-fi 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-langpack-fr 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-langpack-ga 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-langpack-gl 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-langpack-gu 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-langpack-he 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-langpack-hi 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-langpack-hr 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-langpack-hu 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-langpack-id 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-langpack-it 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-langpack-ja 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-langpack-kk 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-langpack-kn 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-langpack-ko 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-langpack-lt 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-langpack-lv 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-langpack-mai 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-langpack-ml 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-langpack-mr 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-langpack-nb 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-langpack-nl 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-langpack-nn 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-langpack-nr 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-langpack-nso 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-langpack-or 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-langpack-pa 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-langpack-pl 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-langpack-pt-BR 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-langpack-pt-PT 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-langpack-ro 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-langpack-ru 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-langpack-si 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-langpack-sk 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-langpack-sl 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-langpack-sr 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-langpack-ss 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-langpack-st 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-langpack-sv 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-langpack-ta 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-langpack-te 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-langpack-th 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-langpack-tn 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-langpack-tr 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-langpack-ts 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-langpack-uk 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-langpack-ve 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-langpack-xh 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-langpack-zh-Hans 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-langpack-zh-Hant 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-langpack-zu 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-math 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-ogltrans 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-opensymbol-fonts 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-pdfimport 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-pyuno 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-sdk 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-sdk-doc 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-ure 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-ure-common 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-wiki-publisher 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-writer 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-x11 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreoffice-xsltfilter 0 1:6.4.7.2-11.el8.alma
AlmaLinux:8 libreofficekit 0 1:6.4.7.2-11.el8.alma
Debian:10 libreoffice 0 1:6.1.5-3+deb10u8
Debian:11 libreoffice 0 1:7.0.4-4+deb11u2
Debian:12 libreoffice 0 1:7.3.0-1
Debian:13 libreoffice 0 1:7.3.0-1
Red Hat:enterprise_linux:8::appstream autocorr-af 0 1:6.4.7.2-11.el8
Red Hat:enterprise_linux:8::appstream autocorr-bg 0 1:6.4.7.2-11.el8
Red Hat:enterprise_linux:8::appstream autocorr-ca 0 1:6.4.7.2-11.el8
Red Hat:enterprise_linux:8::appstream autocorr-cs 0 1:6.4.7.2-11.el8
Red Hat:enterprise_linux:8::appstream autocorr-da 0 1:6.4.7.2-11.el8
Red Hat:enterprise_linux:8::appstream autocorr-de 0 1:6.4.7.2-11.el8
Red Hat:enterprise_linux:8::appstream autocorr-en 0 1:6.4.7.2-11.el8
Red Hat:enterprise_linux:8::appstream autocorr-es 0 1:6.4.7.2-11.el8
Red Hat:enterprise_linux:8::appstream autocorr-fa 0 1:6.4.7.2-11.el8
Red Hat:enterprise_linux:8::appstream autocorr-fi 0 1:6.4.7.2-11.el8
Red Hat:enterprise_linux:8::appstream autocorr-fr 0 1:6.4.7.2-11.el8
Red Hat:enterprise_linux:8::appstream autocorr-ga 0 1:6.4.7.2-11.el8
Red Hat:enterprise_linux:8::appstream autocorr-hr 0 1:6.4.7.2-11.el8
Red Hat:enterprise_linux:8::appstream autocorr-hu 0 1:6.4.7.2-11.el8
Red Hat:enterprise_linux:8::appstream autocorr-is 0 1:6.4.7.2-11.el8
Red Hat:enterprise_linux:8::appstream autocorr-it 0 1:6.4.7.2-11.el8
Red Hat:enterprise_linux:8::appstream autocorr-ja 0 1:6.4.7.2-11.el8
Red Hat:enterprise_linux:8::appstream autocorr-ko 0 1:6.4.7.2-11.el8
Red Hat:enterprise_linux:8::appstream autocorr-lb 0 1:6.4.7.2-11.el8
Red Hat:enterprise_linux:8::appstream autocorr-lt 0 1:6.4.7.2-11.el8
Red Hat:enterprise_linux:8::appstream autocorr-mn 0 1:6.4.7.2-11.el8
Red Hat:enterprise_linux:8::appstream autocorr-nl 0 1:6.4.7.2-11.el8
Red Hat:enterprise_linux:8::appstream autocorr-pl 0 1:6.4.7.2-11.el8
Red Hat:enterprise_linux:8::appstream autocorr-pt 0 1:6.4.7.2-11.el8
Red Hat:enterprise_linux:8::appstream autocorr-ro 0 1:6.4.7.2-11.el8

Related vulnerabilities