Vulnerability & Exploit Database

Back to search

PostgreSQL for Linux Payload Execution

On some default Linux installations of PostgreSQL, the postgres service account may write to the /tmp directory, and may source UDF Shared Libraries from there as well, allowing execution of arbitrary code. This module compiles a Linux shared object file, uploads it to the target host via the UPDATE pg_largeobject method of binary injection, and creates a UDF (user defined function) from that shared object. Because the payload is run as the shared object's constructor, it does not need to conform to specific Postgres API versions.

Free Metasploit Download

Get your copy of the world's leading penetration testing tool

 Download Now

Module Name



  • midnitesnake
  • egypt <egypt [at]>
  • todb <todb [at]>



  • Linux x86
  • Linux x86_64


  • linux


  • x86
  • x64



Module Options

To display the available options, load the module within the Metasploit console and run the commands 'show options' or 'show advanced':

msf > use exploit/linux/postgres/postgres_payload msf exploit(postgres_payload) > show targets ...targets... msf exploit(postgres_payload) > set TARGET <target-id> msf exploit(postgres_payload) > show options and set options... msf exploit(postgres_payload) > exploit