atp-rest-media@0.5.0

Vulnerabilities

2 via 3 paths

Dependencies

147

Source

npm

Find, fix and prevent vulnerabilities in your code.

Severity
  • 1
  • 1
Status
  • 2
  • 0
  • 0

high severity

Arbitrary File Overwrite

  • Vulnerable module: tar
  • Introduced through: sharp@0.18.4

Detailed paths

  • Introduced through: atp-rest-media@0.5.0 sharp@0.18.4 tar@3.2.1
    Remediation: Upgrade to atp-rest-media@0.6.0.

Overview

tar is a full-featured Tar for Node.js.

Affected versions of this package are vulnerable to Arbitrary File Overwrite. Extracting tarballs containing a hard-link to a file that already exists in the system, and a file that matches the hard-link may overwrite system's files with the contents of the extracted file.

Remediation

Upgrade tar to version 2.2.2, 4.4.2 or higher.

References

low severity

Uninitialized Memory Exposure

  • Vulnerable module: mysql
  • Introduced through: atp-active-record@0.9.3 and atp-rest-uac@0.23.8

Detailed paths

  • Introduced through: atp-rest-media@0.5.0 atp-active-record@0.9.3 mysql-activerecord@0.8.6 mysql@2.5.2
  • Introduced through: atp-rest-media@0.5.0 atp-rest-uac@0.23.8 atp-active-record@0.11.5 mysql-activerecord@0.8.6 mysql@2.5.2

Overview

mysql is a node.js driver for mysql.

Affected versions of the package are vulnerable due to the unsafe use of the Buffer() method. Uninitialized memory may be exposed when a value of type number is provided to various methods in mysql which require allocation of buffers and results in concatenation of uninitialized memory to the buffer collection.

This vulnerability is unlikely to be exploited, but may be possible if a server-side mysql accepts typed input for passwords from the client even though the user doesn’t control the server-side code (i.e through JSON format).

Details

Constructing a Buffer class with integer N creates a Buffer of length N with raw (not "zero-ed") memory.

In the following example, the first call would allocate 100 bytes of memory, while the second example will allocate the memory needed for the string "100":

// uninitialized Buffer of length 100
x = new Buffer(100);
// initialized Buffer with value of '100'
x = new Buffer('100');

You can read more about the insecure Buffer behavior on our blog.

Similar vulnerabilities were discovered in request, mongoose, ws and sequelize.

Remediation

Upgrade mysql to version 2.14.0 or higher. Note This is vulnerable only for Node <=4

References