Cloudanix VulnDB

CVE-2022-26305

High · 7.5

CVSS

7.5

EPSS

1.2%

Published

Jul 25, 2022

CISA due date

—

Cloudanix analysis

Schedule a fix SSVC: Track

Document software could let attackers make harmful add-on code appear approved by a trusted source, tricking users into running it.

Exploitation
Requires User Interaction
Attacker needs
User Interaction
Complexity
Moderate
Impact
Remote Code Execution
Component
Application
Class
Cryptographic Weakness
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

The vulnerability allows an attacker to bypass macro signature validation by forging a certificate that matches only the serial number and issuer of a trusted certificate, causing LibreOffice to treat the macro as signed by a trusted author without verifying the actual cryptographic signature.

Why it matters to the business

Organizations using affected LibreOffice versions face increased risk of users inadvertently executing malicious macros in documents, potentially leading to unauthorized code execution, data compromise, or system compromise; the issue affects a widely deployed productivity suite with high ecosystem prevalence.

How an attack unfolds

An attacker crafts a malicious macro, generates a certificate with identical serial number and issuer to a known trusted certificate, signs the macro with the forged certificate, and distributes the document; when the user opens it, LibreOffice incorrectly validates the signature and prompts the user to enable the macro, resulting in arbitrary code execution.

How to fix it

Upgrade LibreOffice 7.2 installations to version 7.2.7 or later and 7.3 installations to version 7.3.1 or later; enable macro security settings to require explicit user approval and consider disabling macros from untrusted sources.

How to confirm the fix worked

Verify installed LibreOffice version is at least 7.2.7 or 7.3.1; test macro signature validation behavior with known trusted and forged certificates to confirm proper cryptographic checks occur.

Typical attack path

  1. Identify or obtain a trusted certificate's serial number and issuer details
  2. Generate a matching but attacker-controlled certificate
  3. Create a document containing a malicious macro and sign it with the forged certificate
  4. Distribute the document to the target
  5. Trick the user into opening the document and enabling macros
  6. Execute arbitrary code on the victim's system

How to detect it

Examine document metadata and macro signature logs for certificates whose serial and issuer match trusted entries but lack valid cryptographic binding; review user activity logs for unexpected macro-enabled documents from external sources.

What your security team should do

  • Prioritize upgrading all LibreOffice instances to fixed versions immediately due to the 1535 days since publication and rising EPSS trend
  • Review and harden macro security policies across the organization
  • Educate users on risks of enabling macros from untrusted documents
  • Monitor for any new exploit maturity indicators or threat actor activity targeting this weakness

The record

An Improper Certificate Validation vulnerability in LibreOffice existed where determining if a macro was signed by a trusted author was done by only matching the serial number and issuer string of the used certificate with that of a trusted certificate. This is not sufficient to verify that the macro was actually signed with the certificate. An adversary could therefore create an arbitrary certificate with a serial number and an issuer string identical to a trusted certificate which LibreOffice would present as belonging to the trusted author, potentially leading to the user to execute arbitrary code contained in macros improperly trusted. This issue affects: The Document Foundation LibreOffice 7.2 versions prior to 7.2.7; 7.3 versions prior to 7.3.1.

Affected packages

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

Related vulnerabilities