Vulnerabilities > CVE-2009-0191 - Code Injection vulnerability in Foxitsoftware Foxit Reader 2.3/3.0/3.0.2009.1301

047910
CVSS 9.3 - CRITICAL
Attack vector
NETWORK
Attack complexity
MEDIUM
Privileges required
NONE
Confidentiality impact
COMPLETE
Integrity impact
COMPLETE
Availability impact
COMPLETE
network
foxitsoftware
CWE-94
critical
nessus

Summary

Foxit Reader 2.3 before Build 3902 and 3.0 before Build 1506, including 3.0.2009.1301, does not properly handle a JBIG2 symbol dictionary segment with zero new symbols, which allows remote attackers to execute arbitrary code via a crafted PDF file that triggers a dereference of an uninitialized memory location.

Common Attack Pattern Enumeration and Classification (CAPEC)

  • Leverage Executable Code in Non-Executable Files
    An attack of this type exploits a system's trust in configuration and resource files, when the executable loads the resource (such as an image file or configuration file) the attacker has modified the file to either execute malicious code directly or manipulate the target process (e.g. application server) to execute based on the malicious configuration parameters. Since systems are increasingly interrelated mashing up resources from local and remote sources the possibility of this attack occurring is high. The attack can be directed at a client system, such as causing buffer overrun through loading seemingly benign image files, as in Microsoft Security Bulletin MS04-028 where specially crafted JPEG files could cause a buffer overrun once loaded into the browser. Another example targets clients reading pdf files. In this case the attacker simply appends javascript to the end of a legitimate url for a pdf (http://www.gnucitizen.org/blog/danger-danger-danger/) http://path/to/pdf/file.pdf#whatever_name_you_want=javascript:your_code_here The client assumes that they are reading a pdf, but the attacker has modified the resource and loaded executable javascript into the client's browser process. The attack can also target server processes. The attacker edits the resource or configuration file, for example a web.xml file used to configure security permissions for a J2EE app server, adding role name "public" grants all users with the public role the ability to use the administration functionality. The server trusts its configuration file to be correct, but when they are manipulated, the attacker gains full control.
  • Manipulating User-Controlled Variables
    This attack targets user controlled variables (DEBUG=1, PHP Globals, and So Forth). An attacker can override environment variables leveraging user-supplied, untrusted query variables directly used on the application server without any data sanitization. In extreme cases, the attacker can change variables controlling the business logic of the application. For instance, in languages like PHP, a number of poorly set default configurations may allow the user to override variables.

Nessus

NASL familyWindows
NASL idFOXIT_READER_MULTIPLE_FLAWS.NASL
descriptionThe version of Foxit Reader installed on the remote Windows host is 2.x prior to 2.3 Build 3902 or 3.x prior to 3.0 Build 1506. It is, therefore, affected by multiple vulnerabilities : - An uninitialized memory dereference flaw exists due to improper handling of a JBIG2 symbol dictionary segment with zero new symbols. An unauthenticated, remote attacker can exploit this, via a crafted PDF file, to execute arbitrary code. (CVE-2009-0191) - A flaw exists due to a failure to require user authorization before preforming dangerous actions defined in a PDF file. An unauthenticated, remote attacker can exploit this, via a crafted PDF file, to execute arbitrary commands. (CVE-2009-0836) - A stack-based buffer overflow condition exists due to improper sanitization of user-supplied input. An unauthenticated, remote attacker can exploit this to execute arbitrary code via a crafted PDF file having a long relative or absolute path in a filename argument in an action. Note that this issue only affects version 3.x. (CVE-2009-0837)
last seen2020-06-01
modified2020-06-02
plugin id35807
published2009-03-09
reporterThis script is Copyright (C) 2009-2018 Tenable Network Security, Inc.
sourcehttps://www.tenable.com/plugins/nessus/35807
titleFoxit Reader 2.x < 2.3 Build 3902 / 3.x < 3.0 Build 1506 Multiple Vulnerabilities
code
#
# (C) Tenable Network Security, Inc.
#

include("compat.inc");

if (description)
{
  script_id(35807);
  script_version("1.17");
  script_cvs_date("Date: 2018/11/15 20:50:26");

  script_cve_id("CVE-2009-0191", "CVE-2009-0836", "CVE-2009-0837");
  script_bugtraq_id(34035);
  script_xref(name:"EDB-ID", value:"8201");
  script_xref(name:"EDB-ID", value:"18905");
  script_xref(name:"Secunia", value:"34036");

  script_name(english:"Foxit Reader 2.x < 2.3 Build 3902 / 3.x < 3.0 Build 1506 Multiple Vulnerabilities");
  script_summary(english:"Checks the version of Foxit Reader.");
 
  script_set_attribute(attribute:"synopsis", value:
"A PDF viewer installed on the remote host is affected by multiple
vulnerabilities.");
  script_set_attribute(attribute:"description", value:
"The version of Foxit Reader installed on the remote Windows host is
2.x prior to 2.3 Build 3902 or 3.x prior to 3.0 Build 1506. It is,
therefore, affected by multiple vulnerabilities :

  - An uninitialized memory dereference flaw exists due to
    improper handling of a JBIG2 symbol dictionary segment
    with zero new symbols. An unauthenticated, remote
    attacker can exploit this, via a crafted PDF file, to
    execute arbitrary code. (CVE-2009-0191)

  - A flaw exists due to a failure to require user
    authorization before preforming dangerous actions
    defined in a PDF file. An unauthenticated, remote
    attacker can exploit this, via a crafted PDF file, to
    execute arbitrary commands. (CVE-2009-0836)

  - A stack-based buffer overflow condition exists due to
    improper sanitization of user-supplied input. An
    unauthenticated, remote attacker can exploit this to
    execute arbitrary code via a crafted PDF file having a
    long relative or absolute path in a filename argument in
    an action. Note that this issue only affects version
    3.x. (CVE-2009-0837)");
  script_set_attribute(attribute:"see_also", value:"https://secuniaresearch.flexerasoftware.com/secunia_research/2009-11/");
  script_set_attribute(attribute:"see_also", value:"https://www.foxitsoftware.com/support/security-bulletins.php");
  script_set_attribute(attribute:"see_also", value:"https://www.foxitsoftware.com/company/press.php?id=97");
  script_set_attribute(attribute:"solution", value:
"Upgrade to Foxit Reader version 2.3 Build 3902 / 3.0 Build 1506 or
later.");
  script_set_cvss_base_vector("CVSS2#AV:N/AC:M/Au:N/C:C/I:C/A:C");
  script_set_cvss_temporal_vector("CVSS2#E:H/RL:OF/RC:C");
  script_set_attribute(attribute:"exploitability_ease", value:"Exploits are available");
  script_set_attribute(attribute:"exploit_available", value:"true");
  script_set_attribute(attribute:"exploit_framework_core", value:"true");
  script_set_attribute(attribute:"exploited_by_malware", value:"true");
  script_set_attribute(attribute:"metasploit_name", value:'Foxit Reader 3.0 Open Execute Action Stack Based Buffer Overflow');
  script_set_attribute(attribute:"exploit_framework_metasploit", value:"true");
  script_set_attribute(attribute:"exploit_framework_canvas", value:"true");
  script_set_attribute(attribute:"canvas_package", value:'CANVAS');
  script_cwe_id(94, 119);

  script_set_attribute(attribute:"vuln_publication_date", value: "2009/03/09");
  script_set_attribute(attribute:"patch_publication_date", value: "2009/03/09");
  script_set_attribute(attribute:"plugin_publication_date", value: "2009/03/09");

  script_set_attribute(attribute:"plugin_type", value:"local");
  script_set_attribute(attribute:"cpe",value:"cpe:/a:foxitsoftware:foxit_reader");
  script_end_attributes();

  script_category(ACT_GATHER_INFO);
  script_family(english:"Windows");

  script_copyright(english:"This script is Copyright (C) 2009-2018 Tenable Network Security, Inc.");

  script_dependencies("foxit_reader_installed.nasl");
  script_require_keys("installed_sw/Foxit Reader");

  exit(0);
}

include("audit.inc");
include("global_settings.inc");
include("misc_func.inc");
include("install_func.inc");

app = "Foxit Reader";
install = get_single_install(app_name:app, exit_if_unknown_ver:TRUE);
version = install["version"];
path    = install["path"];

report = NULL;
fixed_version = NULL;

if (version =~ "^2\.3\.")
  fixed_version = "2.3.3902";

if (version =~ "^3\.0\.")
  fixed_version = "3.0.1506";

# Remove the year from the version where applicable
ver_ui = NULL;
if (ereg(pattern:"200[789]\.", string:version))
{
  ver_ui = version;
  version = ereg_replace(pattern:"(200[789]\.)", replace:"", string:version);
}

if (fixed_version && ver_compare(ver:version, fix:fixed_version, strict:FALSE) < 0)
{
  port = get_kb_item("SMB/transport");
  if (!port)
    port = 445;

  report = '\n  Path              : ' + path;

  if (!isnull(ver_ui))
    report += '\n  UI version        : ' + ver_ui;

  report +=
    '\n  Installed version : ' + version +
    '\n  Fixed version     : ' + fixed_version + '\n';

  security_report_v4(port:port, extra:report, severity:SECURITY_HOLE);
  exit(0);
}
else
  audit(AUDIT_INST_PATH_NOT_VULN, app, version, path);

Seebug

bulletinFamilyexploit
descriptionBUGTRAQ ID: 34035 CVE(CAN) ID: CVE-2009-0191,CVE-2009-0836,CVE-2009-0837 Foxit Reader是一款小型的PDF文档查看器和打印程序。 1) Foxit Reader在处理JBIG2符号字典段时存在错误,特制的PDF文件可能导致引用未经初始化的内存。 2) 如果PDF文件中定义了Open/Execute a file操作,Foxit Reader可能会未经用户确认便打开或执行PDF文件创建者所定义的文件。 3) 如果带有超长文件名参数的PDF文件中定义了Open/Execute a file操作,由于未经充分的边界检查便试图将文件名参数拷贝到栈中固定大小的缓冲区,在某些情况下可能会触发栈溢出。 Foxit Foxit Reader 3.0 Foxit Foxit Reader 2.3 厂商补丁: Foxit ----- 目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载: <a href=http://www.foxitsoftware.com/downloads/ target=_blank rel=external nofollow>http://www.foxitsoftware.com/downloads/</a>
idSSV:4892
last seen2017-11-19
modified2009-03-11
published2009-03-11
reporterRoot
sourcehttps://www.seebug.org/vuldb/ssvid-4892
titleFoxit Reader PDF文件处理多个代码执行和绕过授权漏洞