Vulnerabilities > CVE-2013-5029 - Improper Input Validation vulnerability in multiple products
Attack vector
UNKNOWN Attack complexity
UNKNOWN Privileges required
UNKNOWN Confidentiality impact
UNKNOWN Integrity impact
UNKNOWN Availability impact
UNKNOWN Summary
phpMyAdmin 3.5.x and 4.0.x before 4.0.5 allows remote attackers to bypass the clickjacking protection mechanism via certain vectors related to Header.class.php.
Vulnerable Configurations
Common Weakness Enumeration (CWE)
Common Attack Pattern Enumeration and Classification (CAPEC)
- Buffer Overflow via Environment Variables This attack pattern involves causing a buffer overflow through manipulation of environment variables. Once the attacker finds that they can modify an environment variable, they may try to overflow associated buffers. This attack leverages implicit trust often placed in environment variables.
- Server Side Include (SSI) Injection An attacker can use Server Side Include (SSI) Injection to send code to a web application that then gets executed by the web server. Doing so enables the attacker to achieve similar results to Cross Site Scripting, viz., arbitrary code execution and information disclosure, albeit on a more limited scale, since the SSI directives are nowhere near as powerful as a full-fledged scripting language. Nonetheless, the attacker can conveniently gain access to sensitive files, such as password files, and execute shell commands.
- Cross Zone Scripting An attacker is able to cause a victim to load content into their web-browser that bypasses security zone controls and gain access to increased privileges to execute scripting code or other web objects such as unsigned ActiveX controls or applets. This is a privilege elevation attack targeted at zone-based web-browser security. In a zone-based model, pages belong to one of a set of zones corresponding to the level of privilege assigned to that page. Pages in an untrusted zone would have a lesser level of access to the system and/or be restricted in the types of executable content it was allowed to invoke. In a cross-zone scripting attack, a page that should be assigned to a less privileged zone is granted the privileges of a more trusted zone. This can be accomplished by exploiting bugs in the browser, exploiting incorrect configuration in the zone controls, through a cross-site scripting attack that causes the attackers' content to be treated as coming from a more trusted page, or by leveraging some piece of system functionality that is accessible from both the trusted and less trusted zone. This attack differs from "Restful Privilege Escalation" in that the latter correlates to the inadequate securing of RESTful access methods (such as HTTP DELETE) on the server, while cross-zone scripting attacks the concept of security zones as implemented by a browser.
- Cross Site Scripting through Log Files An attacker may leverage a system weakness where logs are susceptible to log injection to insert scripts into the system's logs. If these logs are later viewed by an administrator through a thin administrative interface and the log data is not properly HTML encoded before being written to the page, the attackers' scripts stored in the log will be executed in the administrative interface with potentially serious consequences. This attack pattern is really a combination of two other attack patterns: log injection and stored cross site scripting.
- Command Line Execution through SQL Injection An attacker uses standard SQL injection methods to inject data into the command line for execution. This could be done directly through misuse of directives such as MSSQL_xp_cmdshell or indirectly through injection of data into the database that would be interpreted as shell commands. Sometime later, an unscrupulous backend application (or could be part of the functionality of the same application) fetches the injected data stored in the database and uses this data as command line arguments without performing proper validation. The malicious data escapes that data plane by spawning new commands to be executed on the host.
Nessus
NASL family SuSE Local Security Checks NASL id OPENSUSE-2013-647.NASL description This version upgrade of phpMyAdmin fixed various security issues (SQL injection, XSS, full path disclosure, Clickjacking) last seen 2020-06-05 modified 2014-06-13 plugin id 75119 published 2014-06-13 reporter This script is Copyright (C) 2014-2020 and is owned by Tenable, Inc. or an Affiliate thereof. source https://www.tenable.com/plugins/nessus/75119 title openSUSE Security Update : phpMyAdmin (openSUSE-SU-2013:1343-1) code #%NASL_MIN_LEVEL 80502 # # (C) Tenable Network Security, Inc. # # The descriptive text and package checks in this plugin were # extracted from openSUSE Security Update openSUSE-2013-647. # # The text description of this plugin is (C) SUSE LLC. # include("compat.inc"); if (description) { script_id(75119); script_version("1.4"); script_set_attribute(attribute:"plugin_modification_date", value:"2020/06/04"); script_cve_id("CVE-2013-5029"); script_bugtraq_id(61804); script_name(english:"openSUSE Security Update : phpMyAdmin (openSUSE-SU-2013:1343-1)"); script_summary(english:"Check for the openSUSE-2013-647 patch"); script_set_attribute( attribute:"synopsis", value:"The remote openSUSE host is missing a security update." ); script_set_attribute( attribute:"description", value: "This version upgrade of phpMyAdmin fixed various security issues (SQL injection, XSS, full path disclosure, Clickjacking)" ); script_set_attribute( attribute:"see_also", value:"https://bugzilla.novell.com/show_bug.cgi?id=831896" ); script_set_attribute( attribute:"see_also", value:"https://bugzilla.novell.com/show_bug.cgi?id=833731" ); script_set_attribute( attribute:"see_also", value:"https://lists.opensuse.org/opensuse-updates/2013-08/msg00032.html" ); script_set_attribute( attribute:"solution", value:"Update the affected phpMyAdmin package." ); script_set_cvss_base_vector("CVSS2#AV:N/AC:M/Au:N/C:N/I:P/A:N"); script_set_cvss_temporal_vector("CVSS2#E:U/RL:OF/RC:C"); script_set_attribute(attribute:"exploitability_ease", value:"No known exploits are available"); script_set_attribute(attribute:"exploit_available", value:"false"); script_set_attribute(attribute:"plugin_type", value:"local"); script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:phpMyAdmin"); script_set_attribute(attribute:"cpe", value:"cpe:/o:novell:opensuse:12.2"); script_set_attribute(attribute:"cpe", value:"cpe:/o:novell:opensuse:12.3"); script_set_attribute(attribute:"patch_publication_date", value:"2013/08/07"); script_set_attribute(attribute:"plugin_publication_date", value:"2014/06/13"); script_end_attributes(); script_category(ACT_GATHER_INFO); script_copyright(english:"This script is Copyright (C) 2014-2020 and is owned by Tenable, Inc. or an Affiliate thereof."); script_family(english:"SuSE Local Security Checks"); script_dependencies("ssh_get_info.nasl"); script_require_keys("Host/local_checks_enabled", "Host/SuSE/release", "Host/SuSE/rpm-list"); exit(0); } include("audit.inc"); include("global_settings.inc"); include("rpm.inc"); if (!get_kb_item("Host/local_checks_enabled")) audit(AUDIT_LOCAL_CHECKS_NOT_ENABLED); release = get_kb_item("Host/SuSE/release"); if (isnull(release) || release =~ "^(SLED|SLES)") audit(AUDIT_OS_NOT, "openSUSE"); if (release !~ "^(SUSE12\.2|SUSE12\.3)$") audit(AUDIT_OS_RELEASE_NOT, "openSUSE", "12.2 / 12.3", release); if (!get_kb_item("Host/SuSE/rpm-list")) audit(AUDIT_PACKAGE_LIST_MISSING); flag = 0; if ( rpm_check(release:"SUSE12.2", reference:"phpMyAdmin-4.0.5-1.16.1") ) flag++; if ( rpm_check(release:"SUSE12.3", reference:"phpMyAdmin-4.0.5-1.8.1") ) flag++; if (flag) { if (report_verbosity > 0) security_warning(port:0, extra:rpm_report_get()); else security_warning(0); exit(0); } else { tested = pkg_tests_get(); if (tested) audit(AUDIT_PACKAGE_NOT_AFFECTED, tested); else audit(AUDIT_PACKAGE_NOT_INSTALLED, "phpMyAdmin"); }
NASL family Gentoo Local Security Checks NASL id GENTOO_GLSA-201311-02.NASL description The remote host is affected by the vulnerability described in GLSA-201311-02 (phpMyAdmin: Multiple vulnerabilities) Multiple vulnerabilities have been discovered in phpMyAdmin. Please review the CVE identifiers referenced below for details. Impact : A remote authenticated attacker could exploit these vulnerabilities to execute arbitrary code with the privileges of the process running phpMyAdmin, inject SQL code, or to conduct Cross-Site Scripting and Clickjacking attacks. Workaround : There is no known workaround at this time. last seen 2020-06-01 modified 2020-06-02 plugin id 70753 published 2013-11-05 reporter This script is Copyright (C) 2013-2018 and is owned by Tenable, Inc. or an Affiliate thereof. source https://www.tenable.com/plugins/nessus/70753 title GLSA-201311-02 : phpMyAdmin: Multiple vulnerabilities code # # (C) Tenable Network Security, Inc. # # The descriptive text and package checks in this plugin were # extracted from Gentoo Linux Security Advisory GLSA 201311-02. # # The advisory text is Copyright (C) 2001-2018 Gentoo Foundation, Inc. # and licensed under the Creative Commons - Attribution / Share Alike # license. See http://creativecommons.org/licenses/by-sa/3.0/ # include("compat.inc"); if (description) { script_id(70753); script_version("1.9"); script_cvs_date("Date: 2018/07/13 15:08:46"); script_cve_id("CVE-2013-1937", "CVE-2013-3238", "CVE-2013-3239", "CVE-2013-4995", "CVE-2013-4996", "CVE-2013-4997", "CVE-2013-4998", "CVE-2013-4999", "CVE-2013-5000", "CVE-2013-5001", "CVE-2013-5002", "CVE-2013-5003", "CVE-2013-5029"); script_bugtraq_id(58962, 59460, 59465, 61510, 61511, 61512, 61513, 61515, 61516, 61804, 61919, 61921, 61923); script_xref(name:"GLSA", value:"201311-02"); script_name(english:"GLSA-201311-02 : phpMyAdmin: Multiple vulnerabilities"); script_summary(english:"Checks for updated package(s) in /var/db/pkg"); script_set_attribute( attribute:"synopsis", value: "The remote Gentoo host is missing one or more security-related patches." ); script_set_attribute( attribute:"description", value: "The remote host is affected by the vulnerability described in GLSA-201311-02 (phpMyAdmin: Multiple vulnerabilities) Multiple vulnerabilities have been discovered in phpMyAdmin. Please review the CVE identifiers referenced below for details. Impact : A remote authenticated attacker could exploit these vulnerabilities to execute arbitrary code with the privileges of the process running phpMyAdmin, inject SQL code, or to conduct Cross-Site Scripting and Clickjacking attacks. Workaround : There is no known workaround at this time." ); script_set_attribute( attribute:"see_also", value:"https://security.gentoo.org/glsa/201311-02" ); script_set_attribute( attribute:"solution", value: "All phpMyAdmin users should upgrade to the latest version: # emerge --sync # emerge --ask --oneshot --verbose '>=dev-db/phpmyadmin-4.0.5'" ); script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:S/C:P/I:P/A:P"); script_set_cvss_temporal_vector("CVSS2#E:F/RL:OF/RC:C"); script_set_cvss3_base_vector("CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N"); script_set_cvss3_temporal_vector("CVSS:3.0/E:F/RL:O/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:"metasploit_name", value:'phpMyAdmin Authenticated Remote Code Execution via preg_replace()'); script_set_attribute(attribute:"exploit_framework_metasploit", value:"true"); script_set_attribute(attribute:"plugin_type", value:"local"); script_set_attribute(attribute:"cpe", value:"p-cpe:/a:gentoo:linux:phpmyadmin"); script_set_attribute(attribute:"cpe", value:"cpe:/o:gentoo:linux"); script_set_attribute(attribute:"patch_publication_date", value:"2013/11/04"); script_set_attribute(attribute:"plugin_publication_date", value:"2013/11/05"); script_end_attributes(); script_category(ACT_GATHER_INFO); script_copyright(english:"This script is Copyright (C) 2013-2018 and is owned by Tenable, Inc. or an Affiliate thereof."); script_family(english:"Gentoo Local Security Checks"); script_dependencies("ssh_get_info.nasl"); script_require_keys("Host/local_checks_enabled", "Host/Gentoo/release", "Host/Gentoo/qpkg-list"); exit(0); } include("audit.inc"); include("global_settings.inc"); include("qpkg.inc"); if (!get_kb_item("Host/local_checks_enabled")) audit(AUDIT_LOCAL_CHECKS_NOT_ENABLED); if (!get_kb_item("Host/Gentoo/release")) audit(AUDIT_OS_NOT, "Gentoo"); if (!get_kb_item("Host/Gentoo/qpkg-list")) audit(AUDIT_PACKAGE_LIST_MISSING); flag = 0; if (qpkg_check(package:"dev-db/phpmyadmin", unaffected:make_list("ge 4.0.5"), vulnerable:make_list("lt 4.0.5"))) flag++; if (flag) { if (report_verbosity > 0) security_warning(port:0, extra:qpkg_report_get()); else security_warning(0); exit(0); } else { tested = qpkg_tests_get(); if (tested) audit(AUDIT_PACKAGE_NOT_AFFECTED, tested); else audit(AUDIT_PACKAGE_NOT_INSTALLED, "phpMyAdmin"); }
NASL family Fedora Local Security Checks NASL id FEDORA_2014-8577.NASL description phpMyAdmin 4.2.6.0 (2014-07-17) =============================== - Undefined index warning with referenced column. - $cfg[ last seen 2020-03-17 modified 2014-07-31 plugin id 76917 published 2014-07-31 reporter This script is Copyright (C) 2014-2020 and is owned by Tenable, Inc. or an Affiliate thereof. source https://www.tenable.com/plugins/nessus/76917 title Fedora 19 : phpMyAdmin-4.2.6-1.fc19 (2014-8577) code #%NASL_MIN_LEVEL 80502 # # (C) Tenable Network Security, Inc. # # The descriptive text and package checks in this plugin were # extracted from Fedora Security Advisory 2014-8577. # include("compat.inc"); if (description) { script_id(76917); script_version("1.5"); script_set_attribute(attribute:"plugin_modification_date", value:"2020/03/12"); script_cve_id("CVE-2013-4998", "CVE-2013-4999", "CVE-2013-5000", "CVE-2013-5003", "CVE-2013-5029", "CVE-2014-1879", "CVE-2014-4348", "CVE-2014-4349"); script_bugtraq_id(61512, 61513, 61515, 61804, 61923, 65717, 68201, 68205); script_xref(name:"FEDORA", value:"2014-8577"); script_name(english:"Fedora 19 : phpMyAdmin-4.2.6-1.fc19 (2014-8577)"); script_summary(english:"Checks rpm output for the updated package."); script_set_attribute( attribute:"synopsis", value:"The remote Fedora host is missing a security update." ); script_set_attribute( attribute:"description", value: "phpMyAdmin 4.2.6.0 (2014-07-17) =============================== - Undefined index warning with referenced column. - $cfg['MaxExactCount'] is ignored when BROWSING is back - Multi Column sorting (improved user experience) - Server validation does not work while in setup/mysqli - Undefined variable when grid editing a foreign key column - mult_submits.inc.php Undefined variable Error - Sorting breaks the copy column feature - JavaScript error when renaming table - 'New window' link (selflink) disappears, causing JavaScript error - Incorrect detection of privileges for routine creation - First few characters of database name aren't clickable when expanded - [security] XSS injection due to unescaped table comment - [security] XSS injection due to unescaped table name (triggers) - [security] XSS in AJAX confirmation messages - [security] Missing validation for accessing User groups feature phpMyAdmin 4.2.5.0 (2014-06-26) =============================== - shell_exec() has been disabled for security reasons - Error while submitting empty query - Fatal error: Class 'PMA_DatabaseInterface' not found - Fixed cookie based login for installations without mcrypt - incorrect result count when having clause is used - mcrypt: remove the requirement (64-bit) and the related warning phpMyAdmin 4.2.4.0 (2014-06-20) =============================== - MediaWiki export does not produce table header row; also fix related PHP warnings - New lines are added to query every time - Fatal error on SQL Export of join query - Dump binary columns in hexadecimal notation not working - Regenerate cookie encryption IV for every session - Cannot import (open_basedir): fix another case - SQL tab - Insert queries not showing affected row count - Missing warning about existing account, on multi-server config - WHERE clause can be undefined - SQL export views as tables option getting ignored - [security] XSS injection due to unescaped db/table name in navigation hiding - [security] XSS injection due to unescaped db/table name in recent/favorite tables phpMyAdmin 4.2.3.0 (2014-06-08) =============================== - Moving fields not working - Table indexes disappear after altering field - Error while displaying chart at server level - Cannot import (open_basedir) - Problem copying constraints (such as Sakila) - Missing privileges submenu - Drop db confirmation message when dropping a user - Insert form numeric field with function drop-down list - Problems due to missing enforcement of the minimum supported MySQL version - Add enforcement of the minimum supported PHP version (5.3.0) - Query error on submitting a column change form containing a disabled input field - Incorrect menu tab generation from usergroups - Missing space in index creation/edit generated query - Unchecking 'Show SQL queries' results NaN phpMyAdmin 4.2.2.0 (2014-05-20) =============================== - Disable database expansion when enabled throws Error 500 when database name is clicked in navigation tree - table display of performance_schema DB structure - Protect Binary Columns: many problems - BLOB link transformation is broken - Respect ['ShowCreateDb'] in the navi panel - Cannot see databases in nav panel on databases grouping when disabled database expansion - No more calendar into search tab - Monitor should fit into screen width - When copying databases, primary key attributes get lost - empty maxInputVars on js/messages.php phpMyAdmin 4.2.1.0 (2014-05-13) =============================== - Cannot display table structure with enums containing special characters - Cannot remove the last remembered sorted column - Correctly fetch length of user and host fields in MySQL tables - examples/signon.php does not support the SessionSavePath directive - Missing source for OpenLayers library - Incorrect attributes for number fields - Cannot update values in Zoom search - GIS Visualization Extension does not work with PointFromText() function - Incorrect 'Rows' total shown when truncating or dropping a table on DB Structure page - Grid edit on sorted columns fails - Null checkbox covering data input when editing - Data type changing by itself (no size but attribute present) phpMyAdmin 4.2.0.0 (2014-05-08) =============================== - Export only triggers - Export Server/Database/Table without triggers - Add table comment tool tip in database structure page - Single table for display Character Sets and Collations - Display icons/text/both for the table row actions - Transformation to convert Boolean value to text - Changing users password will delete it - Text transformation combines Append and Prepend - Added warning about the mysql extension being deprecated and removed the extension directive - Added support for scatter charts - Make Column Headings Sticky - Enhance privileges initials table - [interface] Break 'Edit privileges' with sub-menus - Minor refactoring required - Create indexes at the end in SQL export - Relations edit form for larger monitors - Inline query box vertical resize - [interface] Add bottom border to top menu container - Add datepicker for 'TIME' type - HTTP Referer disclosure in SQL links - Show full names on navigation hover - Behaviour on click on a routine in nav panel - Support more than one separating character on CSV import - Load/Save Query By Example - Grid edit ENUM field, dialog disappears when trying to select - DB export using zip compression generates an empty archive - confirmation message at the top - breadcrubs wrong on table create - better validate database name for copying - Database tab 'Drop' button should be a link - Highlight required form fields after failed submission - Redirect to login page after session has expired - Grid edit: can't change month on date fields - add maxlength by field with length-spec - Import happily doesn't do anything with no file name provided - Add function to all the insert boxes automatically - Option to skip tables larger than n - Possibility of disabling database expansion - Favourite tables select box - $cfg['CharEditing']='textarea' for structure edit - Avoid editing of fields which are part of relation - [interface] Highlight active left menu item in setup - Filter on-screen rows during Browse - Removed support for SQL Validator (SOAP service no longer offered) - Settings > Manage: incorrect messages - 'More' in Actions area doesn't collapse to fit available space - Group two DB, one's name is the prefix of the other one - Confusing database/table grouping - Creating Index doesn't update index-list Note that Tenable Network Security has extracted the preceding description block directly from the Fedora security advisory. Tenable has attempted to automatically clean and format it as much as possible without introducing additional issues." ); script_set_attribute( attribute:"see_also", value:"https://bugzilla.redhat.com/show_bug.cgi?id=1067713" ); script_set_attribute( attribute:"see_also", value:"https://bugzilla.redhat.com/show_bug.cgi?id=1117600" ); script_set_attribute( attribute:"see_also", value:"https://bugzilla.redhat.com/show_bug.cgi?id=1117601" ); script_set_attribute( attribute:"see_also", value:"https://bugzilla.redhat.com/show_bug.cgi?id=989660" ); script_set_attribute( attribute:"see_also", value:"https://bugzilla.redhat.com/show_bug.cgi?id=989668" ); script_set_attribute( attribute:"see_also", value:"https://bugzilla.redhat.com/show_bug.cgi?id=993613" ); # https://lists.fedoraproject.org/pipermail/package-announce/2014-July/136156.html script_set_attribute( attribute:"see_also", value:"http://www.nessus.org/u?d2f50218" ); script_set_attribute( attribute:"solution", value:"Update the affected phpMyAdmin package." ); script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:S/C:P/I:P/A:P"); script_set_cvss_temporal_vector("CVSS2#E:U/RL:OF/RC:C"); script_set_attribute(attribute:"exploitability_ease", value:"No known exploits are available"); script_set_attribute(attribute:"exploit_available", value:"false"); script_set_attribute(attribute:"plugin_type", value:"local"); script_set_attribute(attribute:"cpe", value:"p-cpe:/a:fedoraproject:fedora:phpMyAdmin"); script_set_attribute(attribute:"cpe", value:"cpe:/o:fedoraproject:fedora:19"); script_set_attribute(attribute:"vuln_publication_date", value:"2013/07/31"); script_set_attribute(attribute:"patch_publication_date", value:"2014/07/21"); script_set_attribute(attribute:"plugin_publication_date", value:"2014/07/31"); script_set_attribute(attribute:"generated_plugin", value:"current"); script_end_attributes(); script_category(ACT_GATHER_INFO); script_copyright(english:"This script is Copyright (C) 2014-2020 and is owned by Tenable, Inc. or an Affiliate thereof."); script_family(english:"Fedora Local Security Checks"); script_dependencies("ssh_get_info.nasl"); script_require_keys("Host/local_checks_enabled", "Host/RedHat/release", "Host/RedHat/rpm-list"); exit(0); } include("audit.inc"); include("global_settings.inc"); include("rpm.inc"); if (!get_kb_item("Host/local_checks_enabled")) audit(AUDIT_LOCAL_CHECKS_NOT_ENABLED); release = get_kb_item("Host/RedHat/release"); if (isnull(release) || "Fedora" >!< release) audit(AUDIT_OS_NOT, "Fedora"); os_ver = eregmatch(pattern: "Fedora.*release ([0-9]+)", string:release); if (isnull(os_ver)) audit(AUDIT_UNKNOWN_APP_VER, "Fedora"); os_ver = os_ver[1]; if (! ereg(pattern:"^19([^0-9]|$)", string:os_ver)) audit(AUDIT_OS_NOT, "Fedora 19.x", "Fedora " + os_ver); if (!get_kb_item("Host/RedHat/rpm-list")) audit(AUDIT_PACKAGE_LIST_MISSING); cpu = get_kb_item("Host/cpu"); if (isnull(cpu)) audit(AUDIT_UNKNOWN_ARCH); if ("x86_64" >!< cpu && cpu !~ "^i[3-6]86$") audit(AUDIT_LOCAL_CHECKS_NOT_IMPLEMENTED, "Fedora", cpu); flag = 0; if (rpm_check(release:"FC19", reference:"phpMyAdmin-4.2.6-1.fc19")) flag++; if (flag) { if (report_verbosity > 0) security_warning(port:0, extra:rpm_report_get()); else security_warning(0); exit(0); } else { tested = pkg_tests_get(); if (tested) audit(AUDIT_PACKAGE_NOT_AFFECTED, tested); else audit(AUDIT_PACKAGE_NOT_INSTALLED, "phpMyAdmin"); }
NASL family CGI abuses NASL id PHPMYADMIN_PMASA_2013_10.NASL description According to its self-identified version number, the phpMyAdmin 3.5.x or 4.x install hosted on the remote web server is earlier than 4.0.5 and, therefore, contains a flaw where the last seen 2020-06-01 modified 2020-06-02 plugin id 69448 published 2013-08-22 reporter This script is Copyright (C) 2013-2018 Tenable Network Security, Inc. source https://www.tenable.com/plugins/nessus/69448 title phpMyAdmin 3.5.x / 4.x < 4.0.5 'Header.class.php' Clickjacking Bypass (PMASA-2013-10) code # # (C) Tenable Network Security, Inc. # include("compat.inc"); if (description) { script_id(69448); script_version("1.5"); script_cvs_date("Date: 2018/07/24 18:56:11"); script_cve_id("CVE-2013-5029"); script_bugtraq_id(61804); script_name(english:"phpMyAdmin 3.5.x / 4.x < 4.0.5 'Header.class.php' Clickjacking Bypass (PMASA-2013-10)"); script_summary(english:"Checks version of phpMyAdmin"); script_set_attribute(attribute:"synopsis", value: "The remote web server hosts a PHP application that is affected by a clickjacking vulnerability."); script_set_attribute(attribute:"description", value: "According to its self-identified version number, the phpMyAdmin 3.5.x or 4.x install hosted on the remote web server is earlier than 4.0.5 and, therefore, contains a flaw where the 'Header.class.php' script does not properly sanitize input. This could allow attackers to bypass the application's clickjacking protections."); script_set_attribute(attribute:"see_also", value:"http://www.phpmyadmin.net/home_page/security/PMASA-2013-10.php"); script_set_attribute(attribute:"solution", value: "Either upgrade to phpMyAdmin 4.0.5 or later, or apply the patches from the referenced link."); script_set_cvss_base_vector("CVSS2#AV:N/AC:M/Au:N/C:N/I:P/A:N"); script_set_cvss_temporal_vector("CVSS2#E:U/RL:OF/RC:C"); script_set_attribute(attribute:"exploitability_ease", value:"No exploit is required"); script_set_attribute(attribute:"exploit_available", value:"false"); script_set_attribute(attribute:"vuln_publication_date", value:"2013/08/04"); script_set_attribute(attribute:"patch_publication_date", value:"2013/08/04"); script_set_attribute(attribute:"plugin_publication_date", value:"2013/08/22"); script_set_attribute(attribute:"potential_vulnerability", value:"true"); script_set_attribute(attribute:"plugin_type", value:"remote"); script_set_attribute(attribute:"cpe", value:"cpe:/a:phpmyadmin:phpmyadmin"); script_end_attributes(); script_category(ACT_GATHER_INFO); script_family(english:"CGI abuses"); script_copyright(english:"This script is Copyright (C) 2013-2018 Tenable Network Security, Inc."); script_dependencies("phpMyAdmin_detect.nasl"); script_require_ports("Services/www", 80); script_require_keys("www/PHP", "www/phpMyAdmin", "Settings/ParanoidReport"); exit(0); } include("audit.inc"); include("global_settings.inc"); include("misc_func.inc"); include("http.inc"); include("webapp_func.inc"); port = get_http_port(default:80, php:TRUE); install = get_install_from_kb(appname:"phpMyAdmin", port:port, exit_on_fail:TRUE); dir = install['dir']; location = build_url(qs:dir, port:port); version = install['ver']; if (version == UNKNOWN_VER) audit(AUDIT_UNKNOWN_WEB_APP_VER, "phpMyAdmin", location); if (report_paranoia < 2) audit(AUDIT_PARANOID); if (version =~ "^4(\.0)?$") exit(1, "The version of phpMyAdmin located at "+ location +" ("+ version +") is not granular enough."); # 3.5.x # 4.0.0 < 4.0.5 if ( version =~ "^3\.5($|[^0-9])" || version =~ "^4\.0\.([0-4]|5-rc\d)([^0-9]|$)" ) { if (report_verbosity > 0) { report = '\n URL : ' + location + '\n Installed version : ' + version + '\n Fixed version : 4.0.5' + '\n'; security_warning(port:port, extra:report); } else security_warning(port); exit(0); } else audit(AUDIT_WEB_APP_NOT_AFFECTED, "phpMyAdmin", location, version);
NASL family Fedora Local Security Checks NASL id FEDORA_2014-8581.NASL description phpMyAdmin 4.2.6.0 (2014-07-17) =============================== - Undefined index warning with referenced column. - $cfg[ last seen 2020-03-17 modified 2014-07-31 plugin id 76918 published 2014-07-31 reporter This script is Copyright (C) 2014-2020 and is owned by Tenable, Inc. or an Affiliate thereof. source https://www.tenable.com/plugins/nessus/76918 title Fedora 20 : phpMyAdmin-4.2.6-1.fc20 (2014-8581) code #%NASL_MIN_LEVEL 80502 # # (C) Tenable Network Security, Inc. # # The descriptive text and package checks in this plugin were # extracted from Fedora Security Advisory 2014-8581. # include("compat.inc"); if (description) { script_id(76918); script_version("1.5"); script_set_attribute(attribute:"plugin_modification_date", value:"2020/03/12"); script_cve_id("CVE-2013-4998", "CVE-2013-4999", "CVE-2013-5000", "CVE-2013-5003", "CVE-2013-5029", "CVE-2014-1879", "CVE-2014-4348", "CVE-2014-4349"); script_bugtraq_id(61512, 61513, 61515, 61804, 61923, 65717, 68201, 68205); script_xref(name:"FEDORA", value:"2014-8581"); script_name(english:"Fedora 20 : phpMyAdmin-4.2.6-1.fc20 (2014-8581)"); script_summary(english:"Checks rpm output for the updated package."); script_set_attribute( attribute:"synopsis", value:"The remote Fedora host is missing a security update." ); script_set_attribute( attribute:"description", value: "phpMyAdmin 4.2.6.0 (2014-07-17) =============================== - Undefined index warning with referenced column. - $cfg['MaxExactCount'] is ignored when BROWSING is back - Multi Column sorting (improved user experience) - Server validation does not work while in setup/mysqli - Undefined variable when grid editing a foreign key column - mult_submits.inc.php Undefined variable Error - Sorting breaks the copy column feature - JavaScript error when renaming table - 'New window' link (selflink) disappears, causing JavaScript error - Incorrect detection of privileges for routine creation - First few characters of database name aren't clickable when expanded - [security] XSS injection due to unescaped table comment - [security] XSS injection due to unescaped table name (triggers) - [security] XSS in AJAX confirmation messages - [security] Missing validation for accessing User groups feature phpMyAdmin 4.2.5.0 (2014-06-26) =============================== - shell_exec() has been disabled for security reasons - Error while submitting empty query - Fatal error: Class 'PMA_DatabaseInterface' not found - Fixed cookie based login for installations without mcrypt - incorrect result count when having clause is used - mcrypt: remove the requirement (64-bit) and the related warning phpMyAdmin 4.2.4.0 (2014-06-20) =============================== - MediaWiki export does not produce table header row; also fix related PHP warnings - New lines are added to query every time - Fatal error on SQL Export of join query - Dump binary columns in hexadecimal notation not working - Regenerate cookie encryption IV for every session - Cannot import (open_basedir): fix another case - SQL tab - Insert queries not showing affected row count - Missing warning about existing account, on multi-server config - WHERE clause can be undefined - SQL export views as tables option getting ignored - [security] XSS injection due to unescaped db/table name in navigation hiding - [security] XSS injection due to unescaped db/table name in recent/favorite tables phpMyAdmin 4.2.3.0 (2014-06-08) =============================== - Moving fields not working - Table indexes disappear after altering field - Error while displaying chart at server level - Cannot import (open_basedir) - Problem copying constraints (such as Sakila) - Missing privileges submenu - Drop db confirmation message when dropping a user - Insert form numeric field with function drop-down list - Problems due to missing enforcement of the minimum supported MySQL version - Add enforcement of the minimum supported PHP version (5.3.0) - Query error on submitting a column change form containing a disabled input field - Incorrect menu tab generation from usergroups - Missing space in index creation/edit generated query - Unchecking 'Show SQL queries' results NaN phpMyAdmin 4.2.2.0 (2014-05-20) =============================== - Disable database expansion when enabled throws Error 500 when database name is clicked in navigation tree - table display of performance_schema DB structure - Protect Binary Columns: many problems - BLOB link transformation is broken - Respect ['ShowCreateDb'] in the navi panel - Cannot see databases in nav panel on databases grouping when disabled database expansion - No more calendar into search tab - Monitor should fit into screen width - When copying databases, primary key attributes get lost - empty maxInputVars on js/messages.php phpMyAdmin 4.2.1.0 (2014-05-13) =============================== - Cannot display table structure with enums containing special characters - Cannot remove the last remembered sorted column - Correctly fetch length of user and host fields in MySQL tables - examples/signon.php does not support the SessionSavePath directive - Missing source for OpenLayers library - Incorrect attributes for number fields - Cannot update values in Zoom search - GIS Visualization Extension does not work with PointFromText() function - Incorrect 'Rows' total shown when truncating or dropping a table on DB Structure page - Grid edit on sorted columns fails - Null checkbox covering data input when editing - Data type changing by itself (no size but attribute present) phpMyAdmin 4.2.0.0 (2014-05-08) =============================== - Export only triggers - Export Server/Database/Table without triggers - Add table comment tool tip in database structure page - Single table for display Character Sets and Collations - Display icons/text/both for the table row actions - Transformation to convert Boolean value to text - Changing users password will delete it - Text transformation combines Append and Prepend - Added warning about the mysql extension being deprecated and removed the extension directive - Added support for scatter charts - Make Column Headings Sticky - Enhance privileges initials table - [interface] Break 'Edit privileges' with sub-menus - Minor refactoring required - Create indexes at the end in SQL export - Relations edit form for larger monitors - Inline query box vertical resize - [interface] Add bottom border to top menu container - Add datepicker for 'TIME' type - HTTP Referer disclosure in SQL links - Show full names on navigation hover - Behaviour on click on a routine in nav panel - Support more than one separating character on CSV import - Load/Save Query By Example - Grid edit ENUM field, dialog disappears when trying to select - DB export using zip compression generates an empty archive - confirmation message at the top - breadcrubs wrong on table create - better validate database name for copying - Database tab 'Drop' button should be a link - Highlight required form fields after failed submission - Redirect to login page after session has expired - Grid edit: can't change month on date fields - add maxlength by field with length-spec - Import happily doesn't do anything with no file name provided - Add function to all the insert boxes automatically - Option to skip tables larger than n - Possibility of disabling database expansion - Favourite tables select box - $cfg['CharEditing']='textarea' for structure edit - Avoid editing of fields which are part of relation - [interface] Highlight active left menu item in setup - Filter on-screen rows during Browse - Removed support for SQL Validator (SOAP service no longer offered) - Settings > Manage: incorrect messages - 'More' in Actions area doesn't collapse to fit available space - Group two DB, one's name is the prefix of the other one - Confusing database/table grouping - Creating Index doesn't update index-list Note that Tenable Network Security has extracted the preceding description block directly from the Fedora security advisory. Tenable has attempted to automatically clean and format it as much as possible without introducing additional issues." ); script_set_attribute( attribute:"see_also", value:"https://bugzilla.redhat.com/show_bug.cgi?id=1067713" ); script_set_attribute( attribute:"see_also", value:"https://bugzilla.redhat.com/show_bug.cgi?id=1117600" ); script_set_attribute( attribute:"see_also", value:"https://bugzilla.redhat.com/show_bug.cgi?id=1117601" ); script_set_attribute( attribute:"see_also", value:"https://bugzilla.redhat.com/show_bug.cgi?id=989660" ); script_set_attribute( attribute:"see_also", value:"https://bugzilla.redhat.com/show_bug.cgi?id=989668" ); script_set_attribute( attribute:"see_also", value:"https://bugzilla.redhat.com/show_bug.cgi?id=993613" ); # https://lists.fedoraproject.org/pipermail/package-announce/2014-July/136152.html script_set_attribute( attribute:"see_also", value:"http://www.nessus.org/u?0aef8953" ); script_set_attribute( attribute:"solution", value:"Update the affected phpMyAdmin package." ); script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:S/C:P/I:P/A:P"); script_set_cvss_temporal_vector("CVSS2#E:U/RL:OF/RC:C"); script_set_attribute(attribute:"exploitability_ease", value:"No known exploits are available"); script_set_attribute(attribute:"exploit_available", value:"false"); script_set_attribute(attribute:"plugin_type", value:"local"); script_set_attribute(attribute:"cpe", value:"p-cpe:/a:fedoraproject:fedora:phpMyAdmin"); script_set_attribute(attribute:"cpe", value:"cpe:/o:fedoraproject:fedora:20"); script_set_attribute(attribute:"vuln_publication_date", value:"2013/07/31"); script_set_attribute(attribute:"patch_publication_date", value:"2014/07/21"); script_set_attribute(attribute:"plugin_publication_date", value:"2014/07/31"); script_set_attribute(attribute:"generated_plugin", value:"current"); script_end_attributes(); script_category(ACT_GATHER_INFO); script_copyright(english:"This script is Copyright (C) 2014-2020 and is owned by Tenable, Inc. or an Affiliate thereof."); script_family(english:"Fedora Local Security Checks"); script_dependencies("ssh_get_info.nasl"); script_require_keys("Host/local_checks_enabled", "Host/RedHat/release", "Host/RedHat/rpm-list"); exit(0); } include("audit.inc"); include("global_settings.inc"); include("rpm.inc"); if (!get_kb_item("Host/local_checks_enabled")) audit(AUDIT_LOCAL_CHECKS_NOT_ENABLED); release = get_kb_item("Host/RedHat/release"); if (isnull(release) || "Fedora" >!< release) audit(AUDIT_OS_NOT, "Fedora"); os_ver = eregmatch(pattern: "Fedora.*release ([0-9]+)", string:release); if (isnull(os_ver)) audit(AUDIT_UNKNOWN_APP_VER, "Fedora"); os_ver = os_ver[1]; if (! ereg(pattern:"^20([^0-9]|$)", string:os_ver)) audit(AUDIT_OS_NOT, "Fedora 20.x", "Fedora " + os_ver); if (!get_kb_item("Host/RedHat/rpm-list")) audit(AUDIT_PACKAGE_LIST_MISSING); cpu = get_kb_item("Host/cpu"); if (isnull(cpu)) audit(AUDIT_UNKNOWN_ARCH); if ("x86_64" >!< cpu && cpu !~ "^i[3-6]86$") audit(AUDIT_LOCAL_CHECKS_NOT_IMPLEMENTED, "Fedora", cpu); flag = 0; if (rpm_check(release:"FC20", reference:"phpMyAdmin-4.2.6-1.fc20")) flag++; if (flag) { if (report_verbosity > 0) security_warning(port:0, extra:rpm_report_get()); else security_warning(0); exit(0); } else { tested = pkg_tests_get(); if (tested) audit(AUDIT_PACKAGE_NOT_AFFECTED, tested); else audit(AUDIT_PACKAGE_NOT_INSTALLED, "phpMyAdmin"); }
References
- http://lists.opensuse.org/opensuse-security-announce/2013-08/msg00013.html
- http://lists.opensuse.org/opensuse-security-announce/2013-08/msg00013.html
- http://secunia.com/advisories/54488
- http://secunia.com/advisories/54488
- http://www.phpmyadmin.net/home_page/security/PMASA-2013-10.php
- http://www.phpmyadmin.net/home_page/security/PMASA-2013-10.php
- https://github.com/phpmyadmin/phpmyadmin/commit/240b8332db53dedc27baeec5306dabad3bdece3b
- https://github.com/phpmyadmin/phpmyadmin/commit/240b8332db53dedc27baeec5306dabad3bdece3b
- https://github.com/phpmyadmin/phpmyadmin/commit/24d0eb55203b029f250c77d63f2900ffbe099e8b
- https://github.com/phpmyadmin/phpmyadmin/commit/24d0eb55203b029f250c77d63f2900ffbe099e8b
- https://github.com/phpmyadmin/phpmyadmin/commit/66fe475d4f51b1761719cb0cab360748800373f7
- https://github.com/phpmyadmin/phpmyadmin/commit/66fe475d4f51b1761719cb0cab360748800373f7
- https://github.com/phpmyadmin/phpmyadmin/commit/da4042fb6c4365dc8187765c3bf525043687c66f
- https://github.com/phpmyadmin/phpmyadmin/commit/da4042fb6c4365dc8187765c3bf525043687c66f