phpPgAdmin 7.14.4 and earlier is vulnerable to deserialization of untrusted data which may lead to remote code execution because user-controlled data is directly passed to the PHP 'unserialize()' function in multiple places. An example is the functionality to manage tables in 'tables.php' where the 'ma[]' POST parameter is deserialized.
Multiple cross-site scripting (XSS) flaws were reported in phpPgAdmin: 1) the 'title' argument of a particular web page was not sanitized properly prior displaying the page header, 2) the return ULR ('returnurl') and return link name ('returndesc') were not sanitized properly prior displaying the requested page data.
A remote attacker could provide a specially-crafted URL, which once visited by an unsuspecting phpPgAdmin user could lead to arbitrary HTML or web script execution.
References: [1] https://secunia.com/advisories/46248/ [2] https://bugs.gentoo.org/showbug.cgi?id=385505 [3] http://phppgadmin.sourceforge.net/doku.php?id=download [4] http://sourceforge.net/mailarchive/forum.php?threadname=4E897F6C.90905%40free.fr&forumname=phppgadmin-news
Upstream patch: [5] https://github.com/phppgadmin/phppgadmin/commit/1df248203de055f97e092b50b1dd9643ccb73842
phppgadmin through 7.12.1 allows sensitive actions to be performed without validating that the request originated from the application. One such area, "database.php" does not verify the source of an HTTP request. This can be leveraged by a remote attacker to trick a logged-in administrator to visit a malicious page with a CSRF exploit and execute arbitrary system commands on the server.