VYPR
Critical severityNVD Advisory· Published Jan 3, 2024· Updated Apr 17, 2025

Command injection in get_online_pass_interval

CVE-2023-52310

Description

PaddlePaddle before 2.6.0 has a command injection in get_online_pass_interval. This resulted in the ability to execute arbitrary commands on the operating system.

AI Insight

LLM-synthesized narrative grounded in this CVE's description and references.

PaddlePaddle before 2.6.0 contains a command injection in get_online_pass_interval, allowing arbitrary OS command execution.

Vulnerability

Overview

CVE-2023-52310 is a command injection vulnerability in PaddlePaddle, an open-source deep learning platform. The flaw resides in the get_online_pass_interval function within the fleet_util module, specifically in paddle/incubate/distributed/fleet/fleet_util.py. The function fails to sanitize user-supplied arguments such as days and hours, allowing an attacker to inject arbitrary operating system commands. This is a classic case of improper neutralization of special elements used in an OS command (CWE-78). [1][4]

Exploitation

An attacker can exploit this vulnerability by passing maliciously crafted strings to the days or hours parameters of get_online_pass_interval. For example, as shown in the advisory, setting hours="9;touch /home/test/aaaa" causes the injected touch command to be executed. No special privileges are required beyond access to the vulnerable function. The attack is demonstrated locally via the PaddlePaddle Python API, and the function does not validate or sanitize the input before passing it to a shell operation. [4]

Impact

Successful exploitation allows an attacker to execute arbitrary commands on the underlying operating system with the privileges of the PaddlePaddle process. This can lead to full system compromise, including unauthorized data access, modification, or further lateral movement within the environment. The impact is critical, as it bypasses any sandboxing provided by the framework. [2][4]

Mitigation

The vulnerability is patched in PaddlePaddle version 2.6.0. The fix is contained in multiple commits: 1aae481dfd7d2055c801563e254f1484b974b68e, c62d87eb91c84154af40946f17205d86f608866b, and f8560c903c80450e37b8f304a9cd8207678f2f83. Users are strongly advised to upgrade to PaddlePaddle 2.6.0 or later. As of the publication date, there is no evidence of exploitation in the wild, but the advisory from Baidu and Huntr.com notes that the vulnerability was responsibly disclosed. [1][2][4]

AI Insight generated on May 20, 2026. Synthesized from this CVE's description and the cited reference URLs; citations are validated against the source bundle.

Affected packages

Versions sourced from the GitHub Security Advisory.

PackageAffected versionsPatched versions
PaddlePaddlePyPI
< 2.6.02.6.0

Affected products

2

Patches

1
49bec1760535

fix fleetutil get_online_pass_interval bug (#60023)

https://github.com/PaddlePaddle/PaddledanleifengDec 18, 2023via ghsa
1 file changed · +16 0
  • python/paddle/incubate/distributed/fleet/fleet_util.py+16 0 modified
    @@ -1317,7 +1317,23 @@ def get_online_pass_interval(
                     ...     is_data_hourly_placed=False)
     
             """
    +        assert (
    +            "|" not in days
    +            and ";" not in days
    +            and "\\" not in days
    +            and "/" not in days
    +            and "(" not in days
    +            and ")" not in days
    +        ), r"days should not contain [|,;,\,/,(,)]"
             days = os.popen("echo -n " + days).read().split(" ")
    +        assert (
    +            "|" not in hours
    +            and ";" not in hours
    +            and "\\" not in hours
    +            and "/" not in hours
    +            and "(" not in hours
    +            and ")" not in days
    +        ), r"hours should not contain [|,;,\,/,(,)]"
             hours = os.popen("echo -n " + hours).read().split(" ")
             split_interval = int(split_interval)
             split_per_pass = int(split_per_pass)
    

Vulnerability mechanics

Generated on May 9, 2026. Inputs: CWE entries + fix-commit diffs from this CVE's patches. Citations validated against bundle.

References

5

News mentions

0

No linked articles in our index yet.