Lucene search
K

PKP-WAL 3.4.0-3 Remote Code Execution

🗓️ 15 Dec 2023 00:00:00Reported by EgiX, karmainsecurity.comType 
packetstorm
 packetstorm
🔗 packetstormsecurity.com👁 948 Views

PKP-WAL 3.4.0-3 Remote Code Execution vulnerability in PKP Web Application Library (PKP-WAL or pkp-lib) versions Prior to 3.4.0-4 or 3.3.0-1

Related
Code
ReporterTitlePublishedViews
Family
0day.today
PKP-WAL 3.4.0-3 Remote Code Execution Exploit
18 Dec 202300:00
zdt
ATTACKERKB
CVE-2023-47271
6 Nov 202300:15
attackerkb
CNNVD
PKP Web Application Library Security Vulnerability
6 Nov 202300:00
cnnvd
CVE
CVE-2023-47271
5 Nov 202300:00
cve
Cvelist
CVE-2023-47271
5 Nov 202300:00
cvelist
NVD
CVE-2023-47271
6 Nov 202300:15
nvd
Prion
Design/Logic Flaw
6 Nov 202300:15
prion
Positive Technologies
PT-2023-30402 · Pkp-Wal · Pkp-Wal
5 Nov 202300:00
ptsecurity
RedhatCVE
CVE-2023-47271
23 May 202501:57
redhatcve
Vulnrichment
CVE-2023-47271
5 Nov 202300:00
vulnrichment
Rows per page
`---------------------------------------------------------------------------------  
PKP-WAL <= 3.4.0-3 (NativeImportExportPlugin) Remote Code Execution  
Vulnerability  
---------------------------------------------------------------------------------  
  
  
[-] Software Links:  
  
https://pkp.sfu.ca  
https://github.com/pkp/pkp-lib  
  
  
[-] Affected Versions:  
  
PKP Web Application Library (aka PKP-WAL or pkp-lib) version 3.4.0-3  
and prior versions, as used in Open Journal Systems (OJS), Open  
Monograph Press (OMP), and Open Preprint Systems (OPS) before versions  
3.4.0-4 or 3.3.0-16.  
  
  
[-] Vulnerabilities Description:  
  
The vulnerability is located in the  
/plugins/importexport/native/filter/PKPNativeFilterHelper.php script.  
Specifically, into the  
"PKPNativeFilterHelper::parsePublicationCover()" method:  
  
100. public function parsePublicationCover($filter, $node, $object)  
101. {  
102. $deployment = $filter->getDeployment();  
103.  
104. $context = $deployment->getContext();  
105.  
106. $locale = $node->getAttribute('locale');  
107. if (empty($locale)) {  
108. $locale = $context->getPrimaryLocale();  
109. }  
110.  
111. $coverImagelocale = [];  
112. $coverImage = [];  
113.  
114. for ($n = $node->firstChild; $n !== null; $n = $n->nextSibling) {  
115. if ($n instanceof DOMElement) {  
116. switch ($n->tagName) {  
117. case 'cover_image':  
118. $coverImage['uploadName'] = $n->textContent;  
119. break;  
120. case 'cover_image_alt_text':  
121. $coverImage['altText'] = $n->textContent;  
122. break;  
123. case 'embed':  
124. $publicFileManager = new PublicFileManager();  
125. $filePath =  
$publicFileManager->getContextFilesPath($context->getId()) . '/' .  
$coverImage['uploadName'];  
126. file_put_contents($filePath,  
base64_decode($n->textContent));  
127. break;  
  
User input passed through the cover image tags of the import XML file  
is not properly sanitized before being used at line 118 to construct a  
variable, which is later used as the final part of the filepath used  
in a call to the file_put_contents() PHP function at line 126. This  
can be exploited to write/overwrite arbitrary files on the web server  
via Path Traversal sequences, leading to execution of arbitrary PHP  
code.  
  
Successful exploitation of this vulnerability requires an account with  
permissions to access the "Import/Export" plugin, such as a Journal  
Editor or Production Editor user.  
  
  
[-] Solution:  
  
Upgrade to version 3.4.0-4 or later.  
  
  
[-] Disclosure Timeline:  
  
[14/10/2023] - Vendor notified  
[26/10/2023] - Vendor fixed the issue and opened a public GitHub  
issue: https://github.com/pkp/pkp-lib/issues/9464  
[05/11/2023] - CVE identifier assigned  
[17/11/2023] - Version 3.4.0-4 released  
[14/12/2023] - Publication of this advisory  
  
  
[-] CVE Reference:  
  
The Common Vulnerabilities and Exposures project (cve.mitre.org)  
has assigned the name CVE-2023-47271 to this vulnerability.  
  
  
[-] Credits:  
  
Vulnerability discovered by Egidio Romano.  
  
  
[-] Original Advisory:  
  
http://karmainsecurity.com/KIS-2023-14  
`

Data

Build on a solid foundation with Vulners data

We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data

Api

Power your application with Vulners API

The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access

App

Assess and manage vulnerabilities with Vulners tools

Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation