Bug 2220871 (CVE-2023-35936)

Summary: CVE-2023-35936 pandoc: allows attacker to create or overwrite arbitrary files on the system
Product: [Other] Security Response Reporter: Rohit Keshri <rkeshri>
Component: vulnerabilityAssignee: Nobody <nobody>
Status: NEW --- QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: unspecifiedCC: petersen
Target Milestone: ---Keywords: Security
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: pandoc 3.1.4 Doc Type: If docs needed, set a value
Doc Text:
An arbitrary file write vulnerability was found in Haskell's Pandoc. This issue can be triggered by providing a specially crafted image element in the input when generating files using the --extract-media option or outputting to PDF format. This may allow an attacker to create or overwrite arbitrary files on the system, depending on the privileges of the process running pandoc.
Story Points: ---
Clone Of: Environment:
Last Closed: Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 2220872, 2220873, 2220880, 2225382    
Bug Blocks: 2220869    

Description Rohit Keshri 2023-07-06 11:32:20 UTC
Pandoc is a Haskell library for converting from one markup format to another, and a command-line tool that uses this library. Starting in version 1.13 and prior to version 3.1.4, Pandoc is susceptible to an arbitrary file write vulnerability, which can be triggered by providing a specially crafted image element in the input when generating files using the `--extract-media` option or outputting to PDF format. This vulnerability allows an attacker to create or overwrite arbitrary files on the system ,depending on the privileges of the process running pandoc. It only affects systems that pass untrusted user input to pandoc and allow pandoc to be used to produce a PDF or with the `--extract-media` option.

The fix is to unescape the percent-encoding prior to checking that the resource is not above the working directory, and prior to extracting the extension.  Some code for checking that the path is below the working directory was flawed in a similar way and has also been fixed. Note that the `--sandbox` option, which only affects IO done by readers and writers themselves, does not block this vulnerability. The vulnerability is patched in pandoc 3.1.4. As a workaround, audit the pandoc command and disallow PDF output and the `--extract-media` option.


https://github.com/jgm/pandoc/security/advisories/GHSA-xj5q-fv23-575g

Comment 1 TEJ RATHI 2023-07-06 11:56:11 UTC
Created pandoc tracking bugs for this issue:

Affects: epel-all [bug 2220872]
Affects: fedora-all [bug 2220873]

Comment 4 Fedora Update System 2024-03-29 00:17:25 UTC
FEDORA-2024-7d83cbccb6 (ghc-base64-0.4.2.4-28.fc40, ghc-hakyll-4.16.2.0-4.fc40, and 6 more) has been pushed to the Fedora 40 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 5 Fedora Update System 2024-03-30 01:08:46 UTC
FEDORA-2024-b458482d48 (ghc-base64-0.4.2.4-28.fc39, ghc-hakyll-4.16.2.0-4.fc39, and 6 more) has been pushed to the Fedora 39 stable repository.
If problem still persists, please make note of it in this bug report.