pptagent
An Agentic Framework for Reflective PowerPoint Generation
Activity
- Latest release
- 4mo ago
- Total releases
- 55
- Cadence
- ~daily
- Last 12 months
- 46
Reach
- Stars
- —
Details
- License
- MIT
- First release
- Sep 23, 2025
| Version | Released | |
|---|---|---|
1.1.37
patch
| ||
1.1.36
patch
| ||
1.1.35
patch
3 CVEs
CVE-2026-42080
PYSEC-2026-2894
GHSA-pxhg-7xr2-w7xg
Jul 13, 2026
PPTAgent: Arbitrary File Write via `save_generated_slides`
4.6
/ 10
Medium
Network
Low
Low
Required
Unchanged
None
Low
Low
Summary
The
The call to The server changes directory to WORKSPACE (if set) on startup, so relative paths land in the workspace. Absolute paths, however, reach any filesystem location accessible to the server process. ImpactThe concrete attack scenarios include
RemediationThe potential fix is something like:
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev
CVE-2026-42079
PYSEC-2026-2892
GHSA-89g2-xw5c-v95p
Jul 13, 2026
PPTAgent: Arbitrary Code Execution via Python eval() of LLM-Generated Code with Builtins in Scope
8.6
/ 10
High
Local
Low
None
Required
Changed
High
High
High
Summary
The call The validation before eval only checks 1) The function name matches ^[a-z]+[a-z]+ (snake_case pattern) and 2) The function name is in self.registered_functions. The arguments to the function are not validated. If an attacker can influence the LLM's generated edit actions (via prompt injection through slide content, document content, or the command_list context), the following payload would execute arbitrary code:
The func check passes (replace_image is registered), and the argument expression executes
Impact
RemediationTo fix this behaviour, pass an explicit safe globals dict that excludes builtins:
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev
CVE-2026-42078
PYSEC-2026-2893
GHSA-hrcw-xc63-g29m
Jul 13, 2026
PPTAgent: Arbitrary File Write + Directory Creation via markdown_table_to_image
4.6
/ 10
Medium
Network
Low
Low
Required
Unchanged
None
Low
Low
SummaryThe
ImpactThe concrete attack scenarios include
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev | ||
1.1.34
patch
3 CVEs
CVE-2026-42080
PYSEC-2026-2894
GHSA-pxhg-7xr2-w7xg
Jul 13, 2026
PPTAgent: Arbitrary File Write via `save_generated_slides`
4.6
/ 10
Medium
Network
Low
Low
Required
Unchanged
None
Low
Low
Summary
The
The call to The server changes directory to WORKSPACE (if set) on startup, so relative paths land in the workspace. Absolute paths, however, reach any filesystem location accessible to the server process. ImpactThe concrete attack scenarios include
RemediationThe potential fix is something like:
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev
CVE-2026-42079
PYSEC-2026-2892
GHSA-89g2-xw5c-v95p
Jul 13, 2026
PPTAgent: Arbitrary Code Execution via Python eval() of LLM-Generated Code with Builtins in Scope
8.6
/ 10
High
Local
Low
None
Required
Changed
High
High
High
Summary
The call The validation before eval only checks 1) The function name matches ^[a-z]+[a-z]+ (snake_case pattern) and 2) The function name is in self.registered_functions. The arguments to the function are not validated. If an attacker can influence the LLM's generated edit actions (via prompt injection through slide content, document content, or the command_list context), the following payload would execute arbitrary code:
The func check passes (replace_image is registered), and the argument expression executes
Impact
RemediationTo fix this behaviour, pass an explicit safe globals dict that excludes builtins:
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev
CVE-2026-42078
PYSEC-2026-2893
GHSA-hrcw-xc63-g29m
Jul 13, 2026
PPTAgent: Arbitrary File Write + Directory Creation via markdown_table_to_image
4.6
/ 10
Medium
Network
Low
Low
Required
Unchanged
None
Low
Low
SummaryThe
ImpactThe concrete attack scenarios include
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev | ||
1.1.33
patch
3 CVEs
CVE-2026-42080
PYSEC-2026-2894
GHSA-pxhg-7xr2-w7xg
Jul 13, 2026
PPTAgent: Arbitrary File Write via `save_generated_slides`
4.6
/ 10
Medium
Network
Low
Low
Required
Unchanged
None
Low
Low
Summary
The
The call to The server changes directory to WORKSPACE (if set) on startup, so relative paths land in the workspace. Absolute paths, however, reach any filesystem location accessible to the server process. ImpactThe concrete attack scenarios include
RemediationThe potential fix is something like:
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev
CVE-2026-42079
PYSEC-2026-2892
GHSA-89g2-xw5c-v95p
Jul 13, 2026
PPTAgent: Arbitrary Code Execution via Python eval() of LLM-Generated Code with Builtins in Scope
8.6
/ 10
High
Local
Low
None
Required
Changed
High
High
High
Summary
The call The validation before eval only checks 1) The function name matches ^[a-z]+[a-z]+ (snake_case pattern) and 2) The function name is in self.registered_functions. The arguments to the function are not validated. If an attacker can influence the LLM's generated edit actions (via prompt injection through slide content, document content, or the command_list context), the following payload would execute arbitrary code:
The func check passes (replace_image is registered), and the argument expression executes
Impact
RemediationTo fix this behaviour, pass an explicit safe globals dict that excludes builtins:
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev
CVE-2026-42078
PYSEC-2026-2893
GHSA-hrcw-xc63-g29m
Jul 13, 2026
PPTAgent: Arbitrary File Write + Directory Creation via markdown_table_to_image
4.6
/ 10
Medium
Network
Low
Low
Required
Unchanged
None
Low
Low
SummaryThe
ImpactThe concrete attack scenarios include
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev | ||
1.1.32
patch
3 CVEs
CVE-2026-42080
PYSEC-2026-2894
GHSA-pxhg-7xr2-w7xg
Jul 13, 2026
PPTAgent: Arbitrary File Write via `save_generated_slides`
4.6
/ 10
Medium
Network
Low
Low
Required
Unchanged
None
Low
Low
Summary
The
The call to The server changes directory to WORKSPACE (if set) on startup, so relative paths land in the workspace. Absolute paths, however, reach any filesystem location accessible to the server process. ImpactThe concrete attack scenarios include
RemediationThe potential fix is something like:
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev
CVE-2026-42079
PYSEC-2026-2892
GHSA-89g2-xw5c-v95p
Jul 13, 2026
PPTAgent: Arbitrary Code Execution via Python eval() of LLM-Generated Code with Builtins in Scope
8.6
/ 10
High
Local
Low
None
Required
Changed
High
High
High
Summary
The call The validation before eval only checks 1) The function name matches ^[a-z]+[a-z]+ (snake_case pattern) and 2) The function name is in self.registered_functions. The arguments to the function are not validated. If an attacker can influence the LLM's generated edit actions (via prompt injection through slide content, document content, or the command_list context), the following payload would execute arbitrary code:
The func check passes (replace_image is registered), and the argument expression executes
Impact
RemediationTo fix this behaviour, pass an explicit safe globals dict that excludes builtins:
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev
CVE-2026-42078
PYSEC-2026-2893
GHSA-hrcw-xc63-g29m
Jul 13, 2026
PPTAgent: Arbitrary File Write + Directory Creation via markdown_table_to_image
4.6
/ 10
Medium
Network
Low
Low
Required
Unchanged
None
Low
Low
SummaryThe
ImpactThe concrete attack scenarios include
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev | ||
1.1.31
patch
3 CVEs
CVE-2026-42080
PYSEC-2026-2894
GHSA-pxhg-7xr2-w7xg
Jul 13, 2026
PPTAgent: Arbitrary File Write via `save_generated_slides`
4.6
/ 10
Medium
Network
Low
Low
Required
Unchanged
None
Low
Low
Summary
The
The call to The server changes directory to WORKSPACE (if set) on startup, so relative paths land in the workspace. Absolute paths, however, reach any filesystem location accessible to the server process. ImpactThe concrete attack scenarios include
RemediationThe potential fix is something like:
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev
CVE-2026-42079
PYSEC-2026-2892
GHSA-89g2-xw5c-v95p
Jul 13, 2026
PPTAgent: Arbitrary Code Execution via Python eval() of LLM-Generated Code with Builtins in Scope
8.6
/ 10
High
Local
Low
None
Required
Changed
High
High
High
Summary
The call The validation before eval only checks 1) The function name matches ^[a-z]+[a-z]+ (snake_case pattern) and 2) The function name is in self.registered_functions. The arguments to the function are not validated. If an attacker can influence the LLM's generated edit actions (via prompt injection through slide content, document content, or the command_list context), the following payload would execute arbitrary code:
The func check passes (replace_image is registered), and the argument expression executes
Impact
RemediationTo fix this behaviour, pass an explicit safe globals dict that excludes builtins:
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev
CVE-2026-42078
PYSEC-2026-2893
GHSA-hrcw-xc63-g29m
Jul 13, 2026
PPTAgent: Arbitrary File Write + Directory Creation via markdown_table_to_image
4.6
/ 10
Medium
Network
Low
Low
Required
Unchanged
None
Low
Low
SummaryThe
ImpactThe concrete attack scenarios include
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev | ||
1.1.30
patch
3 CVEs
CVE-2026-42080
PYSEC-2026-2894
GHSA-pxhg-7xr2-w7xg
Jul 13, 2026
PPTAgent: Arbitrary File Write via `save_generated_slides`
4.6
/ 10
Medium
Network
Low
Low
Required
Unchanged
None
Low
Low
Summary
The
The call to The server changes directory to WORKSPACE (if set) on startup, so relative paths land in the workspace. Absolute paths, however, reach any filesystem location accessible to the server process. ImpactThe concrete attack scenarios include
RemediationThe potential fix is something like:
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev
CVE-2026-42079
PYSEC-2026-2892
GHSA-89g2-xw5c-v95p
Jul 13, 2026
PPTAgent: Arbitrary Code Execution via Python eval() of LLM-Generated Code with Builtins in Scope
8.6
/ 10
High
Local
Low
None
Required
Changed
High
High
High
Summary
The call The validation before eval only checks 1) The function name matches ^[a-z]+[a-z]+ (snake_case pattern) and 2) The function name is in self.registered_functions. The arguments to the function are not validated. If an attacker can influence the LLM's generated edit actions (via prompt injection through slide content, document content, or the command_list context), the following payload would execute arbitrary code:
The func check passes (replace_image is registered), and the argument expression executes
Impact
RemediationTo fix this behaviour, pass an explicit safe globals dict that excludes builtins:
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev
CVE-2026-42078
PYSEC-2026-2893
GHSA-hrcw-xc63-g29m
Jul 13, 2026
PPTAgent: Arbitrary File Write + Directory Creation via markdown_table_to_image
4.6
/ 10
Medium
Network
Low
Low
Required
Unchanged
None
Low
Low
SummaryThe
ImpactThe concrete attack scenarios include
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev | ||
1.1.29
patch
3 CVEs
CVE-2026-42080
PYSEC-2026-2894
GHSA-pxhg-7xr2-w7xg
Jul 13, 2026
PPTAgent: Arbitrary File Write via `save_generated_slides`
4.6
/ 10
Medium
Network
Low
Low
Required
Unchanged
None
Low
Low
Summary
The
The call to The server changes directory to WORKSPACE (if set) on startup, so relative paths land in the workspace. Absolute paths, however, reach any filesystem location accessible to the server process. ImpactThe concrete attack scenarios include
RemediationThe potential fix is something like:
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev
CVE-2026-42079
PYSEC-2026-2892
GHSA-89g2-xw5c-v95p
Jul 13, 2026
PPTAgent: Arbitrary Code Execution via Python eval() of LLM-Generated Code with Builtins in Scope
8.6
/ 10
High
Local
Low
None
Required
Changed
High
High
High
Summary
The call The validation before eval only checks 1) The function name matches ^[a-z]+[a-z]+ (snake_case pattern) and 2) The function name is in self.registered_functions. The arguments to the function are not validated. If an attacker can influence the LLM's generated edit actions (via prompt injection through slide content, document content, or the command_list context), the following payload would execute arbitrary code:
The func check passes (replace_image is registered), and the argument expression executes
Impact
RemediationTo fix this behaviour, pass an explicit safe globals dict that excludes builtins:
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev
CVE-2026-42078
PYSEC-2026-2893
GHSA-hrcw-xc63-g29m
Jul 13, 2026
PPTAgent: Arbitrary File Write + Directory Creation via markdown_table_to_image
4.6
/ 10
Medium
Network
Low
Low
Required
Unchanged
None
Low
Low
SummaryThe
ImpactThe concrete attack scenarios include
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev | ||
1.1.28
patch
3 CVEs
CVE-2026-42080
PYSEC-2026-2894
GHSA-pxhg-7xr2-w7xg
Jul 13, 2026
PPTAgent: Arbitrary File Write via `save_generated_slides`
4.6
/ 10
Medium
Network
Low
Low
Required
Unchanged
None
Low
Low
Summary
The
The call to The server changes directory to WORKSPACE (if set) on startup, so relative paths land in the workspace. Absolute paths, however, reach any filesystem location accessible to the server process. ImpactThe concrete attack scenarios include
RemediationThe potential fix is something like:
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev
CVE-2026-42079
PYSEC-2026-2892
GHSA-89g2-xw5c-v95p
Jul 13, 2026
PPTAgent: Arbitrary Code Execution via Python eval() of LLM-Generated Code with Builtins in Scope
8.6
/ 10
High
Local
Low
None
Required
Changed
High
High
High
Summary
The call The validation before eval only checks 1) The function name matches ^[a-z]+[a-z]+ (snake_case pattern) and 2) The function name is in self.registered_functions. The arguments to the function are not validated. If an attacker can influence the LLM's generated edit actions (via prompt injection through slide content, document content, or the command_list context), the following payload would execute arbitrary code:
The func check passes (replace_image is registered), and the argument expression executes
Impact
RemediationTo fix this behaviour, pass an explicit safe globals dict that excludes builtins:
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev
CVE-2026-42078
PYSEC-2026-2893
GHSA-hrcw-xc63-g29m
Jul 13, 2026
PPTAgent: Arbitrary File Write + Directory Creation via markdown_table_to_image
4.6
/ 10
Medium
Network
Low
Low
Required
Unchanged
None
Low
Low
SummaryThe
ImpactThe concrete attack scenarios include
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev | ||
1.1.27
patch
3 CVEs
CVE-2026-42080
PYSEC-2026-2894
GHSA-pxhg-7xr2-w7xg
Jul 13, 2026
PPTAgent: Arbitrary File Write via `save_generated_slides`
4.6
/ 10
Medium
Network
Low
Low
Required
Unchanged
None
Low
Low
Summary
The
The call to The server changes directory to WORKSPACE (if set) on startup, so relative paths land in the workspace. Absolute paths, however, reach any filesystem location accessible to the server process. ImpactThe concrete attack scenarios include
RemediationThe potential fix is something like:
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev
CVE-2026-42079
PYSEC-2026-2892
GHSA-89g2-xw5c-v95p
Jul 13, 2026
PPTAgent: Arbitrary Code Execution via Python eval() of LLM-Generated Code with Builtins in Scope
8.6
/ 10
High
Local
Low
None
Required
Changed
High
High
High
Summary
The call The validation before eval only checks 1) The function name matches ^[a-z]+[a-z]+ (snake_case pattern) and 2) The function name is in self.registered_functions. The arguments to the function are not validated. If an attacker can influence the LLM's generated edit actions (via prompt injection through slide content, document content, or the command_list context), the following payload would execute arbitrary code:
The func check passes (replace_image is registered), and the argument expression executes
Impact
RemediationTo fix this behaviour, pass an explicit safe globals dict that excludes builtins:
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev
CVE-2026-42078
PYSEC-2026-2893
GHSA-hrcw-xc63-g29m
Jul 13, 2026
PPTAgent: Arbitrary File Write + Directory Creation via markdown_table_to_image
4.6
/ 10
Medium
Network
Low
Low
Required
Unchanged
None
Low
Low
SummaryThe
ImpactThe concrete attack scenarios include
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev | ||
1.1.26
patch
3 CVEs
CVE-2026-42080
PYSEC-2026-2894
GHSA-pxhg-7xr2-w7xg
Jul 13, 2026
PPTAgent: Arbitrary File Write via `save_generated_slides`
4.6
/ 10
Medium
Network
Low
Low
Required
Unchanged
None
Low
Low
Summary
The
The call to The server changes directory to WORKSPACE (if set) on startup, so relative paths land in the workspace. Absolute paths, however, reach any filesystem location accessible to the server process. ImpactThe concrete attack scenarios include
RemediationThe potential fix is something like:
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev
CVE-2026-42079
PYSEC-2026-2892
GHSA-89g2-xw5c-v95p
Jul 13, 2026
PPTAgent: Arbitrary Code Execution via Python eval() of LLM-Generated Code with Builtins in Scope
8.6
/ 10
High
Local
Low
None
Required
Changed
High
High
High
Summary
The call The validation before eval only checks 1) The function name matches ^[a-z]+[a-z]+ (snake_case pattern) and 2) The function name is in self.registered_functions. The arguments to the function are not validated. If an attacker can influence the LLM's generated edit actions (via prompt injection through slide content, document content, or the command_list context), the following payload would execute arbitrary code:
The func check passes (replace_image is registered), and the argument expression executes
Impact
RemediationTo fix this behaviour, pass an explicit safe globals dict that excludes builtins:
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev
CVE-2026-42078
PYSEC-2026-2893
GHSA-hrcw-xc63-g29m
Jul 13, 2026
PPTAgent: Arbitrary File Write + Directory Creation via markdown_table_to_image
4.6
/ 10
Medium
Network
Low
Low
Required
Unchanged
None
Low
Low
SummaryThe
ImpactThe concrete attack scenarios include
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev | ||
1.1.24
patch
3 CVEs
CVE-2026-42080
PYSEC-2026-2894
GHSA-pxhg-7xr2-w7xg
Jul 13, 2026
PPTAgent: Arbitrary File Write via `save_generated_slides`
4.6
/ 10
Medium
Network
Low
Low
Required
Unchanged
None
Low
Low
Summary
The
The call to The server changes directory to WORKSPACE (if set) on startup, so relative paths land in the workspace. Absolute paths, however, reach any filesystem location accessible to the server process. ImpactThe concrete attack scenarios include
RemediationThe potential fix is something like:
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev
CVE-2026-42079
PYSEC-2026-2892
GHSA-89g2-xw5c-v95p
Jul 13, 2026
PPTAgent: Arbitrary Code Execution via Python eval() of LLM-Generated Code with Builtins in Scope
8.6
/ 10
High
Local
Low
None
Required
Changed
High
High
High
Summary
The call The validation before eval only checks 1) The function name matches ^[a-z]+[a-z]+ (snake_case pattern) and 2) The function name is in self.registered_functions. The arguments to the function are not validated. If an attacker can influence the LLM's generated edit actions (via prompt injection through slide content, document content, or the command_list context), the following payload would execute arbitrary code:
The func check passes (replace_image is registered), and the argument expression executes
Impact
RemediationTo fix this behaviour, pass an explicit safe globals dict that excludes builtins:
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev
CVE-2026-42078
PYSEC-2026-2893
GHSA-hrcw-xc63-g29m
Jul 13, 2026
PPTAgent: Arbitrary File Write + Directory Creation via markdown_table_to_image
4.6
/ 10
Medium
Network
Low
Low
Required
Unchanged
None
Low
Low
SummaryThe
ImpactThe concrete attack scenarios include
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev | ||
1.1.22
patch
3 CVEs
CVE-2026-42080
PYSEC-2026-2894
GHSA-pxhg-7xr2-w7xg
Jul 13, 2026
PPTAgent: Arbitrary File Write via `save_generated_slides`
4.6
/ 10
Medium
Network
Low
Low
Required
Unchanged
None
Low
Low
Summary
The
The call to The server changes directory to WORKSPACE (if set) on startup, so relative paths land in the workspace. Absolute paths, however, reach any filesystem location accessible to the server process. ImpactThe concrete attack scenarios include
RemediationThe potential fix is something like:
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev
CVE-2026-42079
PYSEC-2026-2892
GHSA-89g2-xw5c-v95p
Jul 13, 2026
PPTAgent: Arbitrary Code Execution via Python eval() of LLM-Generated Code with Builtins in Scope
8.6
/ 10
High
Local
Low
None
Required
Changed
High
High
High
Summary
The call The validation before eval only checks 1) The function name matches ^[a-z]+[a-z]+ (snake_case pattern) and 2) The function name is in self.registered_functions. The arguments to the function are not validated. If an attacker can influence the LLM's generated edit actions (via prompt injection through slide content, document content, or the command_list context), the following payload would execute arbitrary code:
The func check passes (replace_image is registered), and the argument expression executes
Impact
RemediationTo fix this behaviour, pass an explicit safe globals dict that excludes builtins:
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev
CVE-2026-42078
PYSEC-2026-2893
GHSA-hrcw-xc63-g29m
Jul 13, 2026
PPTAgent: Arbitrary File Write + Directory Creation via markdown_table_to_image
4.6
/ 10
Medium
Network
Low
Low
Required
Unchanged
None
Low
Low
SummaryThe
ImpactThe concrete attack scenarios include
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev | ||
1.1.21
patch
3 CVEs
CVE-2026-42080
PYSEC-2026-2894
GHSA-pxhg-7xr2-w7xg
Jul 13, 2026
PPTAgent: Arbitrary File Write via `save_generated_slides`
4.6
/ 10
Medium
Network
Low
Low
Required
Unchanged
None
Low
Low
Summary
The
The call to The server changes directory to WORKSPACE (if set) on startup, so relative paths land in the workspace. Absolute paths, however, reach any filesystem location accessible to the server process. ImpactThe concrete attack scenarios include
RemediationThe potential fix is something like:
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev
CVE-2026-42079
PYSEC-2026-2892
GHSA-89g2-xw5c-v95p
Jul 13, 2026
PPTAgent: Arbitrary Code Execution via Python eval() of LLM-Generated Code with Builtins in Scope
8.6
/ 10
High
Local
Low
None
Required
Changed
High
High
High
Summary
The call The validation before eval only checks 1) The function name matches ^[a-z]+[a-z]+ (snake_case pattern) and 2) The function name is in self.registered_functions. The arguments to the function are not validated. If an attacker can influence the LLM's generated edit actions (via prompt injection through slide content, document content, or the command_list context), the following payload would execute arbitrary code:
The func check passes (replace_image is registered), and the argument expression executes
Impact
RemediationTo fix this behaviour, pass an explicit safe globals dict that excludes builtins:
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev
CVE-2026-42078
PYSEC-2026-2893
GHSA-hrcw-xc63-g29m
Jul 13, 2026
PPTAgent: Arbitrary File Write + Directory Creation via markdown_table_to_image
4.6
/ 10
Medium
Network
Low
Low
Required
Unchanged
None
Low
Low
SummaryThe
ImpactThe concrete attack scenarios include
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev | ||
1.1.20
patch
3 CVEs
CVE-2026-42080
PYSEC-2026-2894
GHSA-pxhg-7xr2-w7xg
Jul 13, 2026
PPTAgent: Arbitrary File Write via `save_generated_slides`
4.6
/ 10
Medium
Network
Low
Low
Required
Unchanged
None
Low
Low
Summary
The
The call to The server changes directory to WORKSPACE (if set) on startup, so relative paths land in the workspace. Absolute paths, however, reach any filesystem location accessible to the server process. ImpactThe concrete attack scenarios include
RemediationThe potential fix is something like:
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev
CVE-2026-42079
PYSEC-2026-2892
GHSA-89g2-xw5c-v95p
Jul 13, 2026
PPTAgent: Arbitrary Code Execution via Python eval() of LLM-Generated Code with Builtins in Scope
8.6
/ 10
High
Local
Low
None
Required
Changed
High
High
High
Summary
The call The validation before eval only checks 1) The function name matches ^[a-z]+[a-z]+ (snake_case pattern) and 2) The function name is in self.registered_functions. The arguments to the function are not validated. If an attacker can influence the LLM's generated edit actions (via prompt injection through slide content, document content, or the command_list context), the following payload would execute arbitrary code:
The func check passes (replace_image is registered), and the argument expression executes
Impact
RemediationTo fix this behaviour, pass an explicit safe globals dict that excludes builtins:
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev
CVE-2026-42078
PYSEC-2026-2893
GHSA-hrcw-xc63-g29m
Jul 13, 2026
PPTAgent: Arbitrary File Write + Directory Creation via markdown_table_to_image
4.6
/ 10
Medium
Network
Low
Low
Required
Unchanged
None
Low
Low
SummaryThe
ImpactThe concrete attack scenarios include
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev | ||
1.1.19
patch
3 CVEs
CVE-2026-42080
PYSEC-2026-2894
GHSA-pxhg-7xr2-w7xg
Jul 13, 2026
PPTAgent: Arbitrary File Write via `save_generated_slides`
4.6
/ 10
Medium
Network
Low
Low
Required
Unchanged
None
Low
Low
Summary
The
The call to The server changes directory to WORKSPACE (if set) on startup, so relative paths land in the workspace. Absolute paths, however, reach any filesystem location accessible to the server process. ImpactThe concrete attack scenarios include
RemediationThe potential fix is something like:
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev
CVE-2026-42079
PYSEC-2026-2892
GHSA-89g2-xw5c-v95p
Jul 13, 2026
PPTAgent: Arbitrary Code Execution via Python eval() of LLM-Generated Code with Builtins in Scope
8.6
/ 10
High
Local
Low
None
Required
Changed
High
High
High
Summary
The call The validation before eval only checks 1) The function name matches ^[a-z]+[a-z]+ (snake_case pattern) and 2) The function name is in self.registered_functions. The arguments to the function are not validated. If an attacker can influence the LLM's generated edit actions (via prompt injection through slide content, document content, or the command_list context), the following payload would execute arbitrary code:
The func check passes (replace_image is registered), and the argument expression executes
Impact
RemediationTo fix this behaviour, pass an explicit safe globals dict that excludes builtins:
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev
CVE-2026-42078
PYSEC-2026-2893
GHSA-hrcw-xc63-g29m
Jul 13, 2026
PPTAgent: Arbitrary File Write + Directory Creation via markdown_table_to_image
4.6
/ 10
Medium
Network
Low
Low
Required
Unchanged
None
Low
Low
SummaryThe
ImpactThe concrete attack scenarios include
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev | ||
1.1.18
patch
3 CVEs
CVE-2026-42080
PYSEC-2026-2894
GHSA-pxhg-7xr2-w7xg
Jul 13, 2026
PPTAgent: Arbitrary File Write via `save_generated_slides`
4.6
/ 10
Medium
Network
Low
Low
Required
Unchanged
None
Low
Low
Summary
The
The call to The server changes directory to WORKSPACE (if set) on startup, so relative paths land in the workspace. Absolute paths, however, reach any filesystem location accessible to the server process. ImpactThe concrete attack scenarios include
RemediationThe potential fix is something like:
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev
CVE-2026-42079
PYSEC-2026-2892
GHSA-89g2-xw5c-v95p
Jul 13, 2026
PPTAgent: Arbitrary Code Execution via Python eval() of LLM-Generated Code with Builtins in Scope
8.6
/ 10
High
Local
Low
None
Required
Changed
High
High
High
Summary
The call The validation before eval only checks 1) The function name matches ^[a-z]+[a-z]+ (snake_case pattern) and 2) The function name is in self.registered_functions. The arguments to the function are not validated. If an attacker can influence the LLM's generated edit actions (via prompt injection through slide content, document content, or the command_list context), the following payload would execute arbitrary code:
The func check passes (replace_image is registered), and the argument expression executes
Impact
RemediationTo fix this behaviour, pass an explicit safe globals dict that excludes builtins:
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev
CVE-2026-42078
PYSEC-2026-2893
GHSA-hrcw-xc63-g29m
Jul 13, 2026
PPTAgent: Arbitrary File Write + Directory Creation via markdown_table_to_image
4.6
/ 10
Medium
Network
Low
Low
Required
Unchanged
None
Low
Low
SummaryThe
ImpactThe concrete attack scenarios include
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev | ||
1.1.17
patch
3 CVEs
CVE-2026-42080
PYSEC-2026-2894
GHSA-pxhg-7xr2-w7xg
Jul 13, 2026
PPTAgent: Arbitrary File Write via `save_generated_slides`
4.6
/ 10
Medium
Network
Low
Low
Required
Unchanged
None
Low
Low
Summary
The
The call to The server changes directory to WORKSPACE (if set) on startup, so relative paths land in the workspace. Absolute paths, however, reach any filesystem location accessible to the server process. ImpactThe concrete attack scenarios include
RemediationThe potential fix is something like:
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev
CVE-2026-42079
PYSEC-2026-2892
GHSA-89g2-xw5c-v95p
Jul 13, 2026
PPTAgent: Arbitrary Code Execution via Python eval() of LLM-Generated Code with Builtins in Scope
8.6
/ 10
High
Local
Low
None
Required
Changed
High
High
High
Summary
The call The validation before eval only checks 1) The function name matches ^[a-z]+[a-z]+ (snake_case pattern) and 2) The function name is in self.registered_functions. The arguments to the function are not validated. If an attacker can influence the LLM's generated edit actions (via prompt injection through slide content, document content, or the command_list context), the following payload would execute arbitrary code:
The func check passes (replace_image is registered), and the argument expression executes
Impact
RemediationTo fix this behaviour, pass an explicit safe globals dict that excludes builtins:
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev
CVE-2026-42078
PYSEC-2026-2893
GHSA-hrcw-xc63-g29m
Jul 13, 2026
PPTAgent: Arbitrary File Write + Directory Creation via markdown_table_to_image
4.6
/ 10
Medium
Network
Low
Low
Required
Unchanged
None
Low
Low
SummaryThe
ImpactThe concrete attack scenarios include
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev | ||
1.1.16
patch
3 CVEs
CVE-2026-42080
PYSEC-2026-2894
GHSA-pxhg-7xr2-w7xg
Jul 13, 2026
PPTAgent: Arbitrary File Write via `save_generated_slides`
4.6
/ 10
Medium
Network
Low
Low
Required
Unchanged
None
Low
Low
Summary
The
The call to The server changes directory to WORKSPACE (if set) on startup, so relative paths land in the workspace. Absolute paths, however, reach any filesystem location accessible to the server process. ImpactThe concrete attack scenarios include
RemediationThe potential fix is something like:
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev
CVE-2026-42079
PYSEC-2026-2892
GHSA-89g2-xw5c-v95p
Jul 13, 2026
PPTAgent: Arbitrary Code Execution via Python eval() of LLM-Generated Code with Builtins in Scope
8.6
/ 10
High
Local
Low
None
Required
Changed
High
High
High
Summary
The call The validation before eval only checks 1) The function name matches ^[a-z]+[a-z]+ (snake_case pattern) and 2) The function name is in self.registered_functions. The arguments to the function are not validated. If an attacker can influence the LLM's generated edit actions (via prompt injection through slide content, document content, or the command_list context), the following payload would execute arbitrary code:
The func check passes (replace_image is registered), and the argument expression executes
Impact
RemediationTo fix this behaviour, pass an explicit safe globals dict that excludes builtins:
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev
CVE-2026-42078
PYSEC-2026-2893
GHSA-hrcw-xc63-g29m
Jul 13, 2026
PPTAgent: Arbitrary File Write + Directory Creation via markdown_table_to_image
4.6
/ 10
Medium
Network
Low
Low
Required
Unchanged
None
Low
Low
SummaryThe
ImpactThe concrete attack scenarios include
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev | ||
1.1.15
patch
3 CVEs
CVE-2026-42080
PYSEC-2026-2894
GHSA-pxhg-7xr2-w7xg
Jul 13, 2026
PPTAgent: Arbitrary File Write via `save_generated_slides`
4.6
/ 10
Medium
Network
Low
Low
Required
Unchanged
None
Low
Low
Summary
The
The call to The server changes directory to WORKSPACE (if set) on startup, so relative paths land in the workspace. Absolute paths, however, reach any filesystem location accessible to the server process. ImpactThe concrete attack scenarios include
RemediationThe potential fix is something like:
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev
CVE-2026-42079
PYSEC-2026-2892
GHSA-89g2-xw5c-v95p
Jul 13, 2026
PPTAgent: Arbitrary Code Execution via Python eval() of LLM-Generated Code with Builtins in Scope
8.6
/ 10
High
Local
Low
None
Required
Changed
High
High
High
Summary
The call The validation before eval only checks 1) The function name matches ^[a-z]+[a-z]+ (snake_case pattern) and 2) The function name is in self.registered_functions. The arguments to the function are not validated. If an attacker can influence the LLM's generated edit actions (via prompt injection through slide content, document content, or the command_list context), the following payload would execute arbitrary code:
The func check passes (replace_image is registered), and the argument expression executes
Impact
RemediationTo fix this behaviour, pass an explicit safe globals dict that excludes builtins:
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev
CVE-2026-42078
PYSEC-2026-2893
GHSA-hrcw-xc63-g29m
Jul 13, 2026
PPTAgent: Arbitrary File Write + Directory Creation via markdown_table_to_image
4.6
/ 10
Medium
Network
Low
Low
Required
Unchanged
None
Low
Low
SummaryThe
ImpactThe concrete attack scenarios include
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev | ||
1.1.14
patch
3 CVEs
CVE-2026-42080
PYSEC-2026-2894
GHSA-pxhg-7xr2-w7xg
Jul 13, 2026
PPTAgent: Arbitrary File Write via `save_generated_slides`
4.6
/ 10
Medium
Network
Low
Low
Required
Unchanged
None
Low
Low
Summary
The
The call to The server changes directory to WORKSPACE (if set) on startup, so relative paths land in the workspace. Absolute paths, however, reach any filesystem location accessible to the server process. ImpactThe concrete attack scenarios include
RemediationThe potential fix is something like:
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev
CVE-2026-42079
PYSEC-2026-2892
GHSA-89g2-xw5c-v95p
Jul 13, 2026
PPTAgent: Arbitrary Code Execution via Python eval() of LLM-Generated Code with Builtins in Scope
8.6
/ 10
High
Local
Low
None
Required
Changed
High
High
High
Summary
The call The validation before eval only checks 1) The function name matches ^[a-z]+[a-z]+ (snake_case pattern) and 2) The function name is in self.registered_functions. The arguments to the function are not validated. If an attacker can influence the LLM's generated edit actions (via prompt injection through slide content, document content, or the command_list context), the following payload would execute arbitrary code:
The func check passes (replace_image is registered), and the argument expression executes
Impact
RemediationTo fix this behaviour, pass an explicit safe globals dict that excludes builtins:
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev
CVE-2026-42078
PYSEC-2026-2893
GHSA-hrcw-xc63-g29m
Jul 13, 2026
PPTAgent: Arbitrary File Write + Directory Creation via markdown_table_to_image
4.6
/ 10
Medium
Network
Low
Low
Required
Unchanged
None
Low
Low
SummaryThe
ImpactThe concrete attack scenarios include
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev | ||
1.1.13
patch
3 CVEs
CVE-2026-42080
PYSEC-2026-2894
GHSA-pxhg-7xr2-w7xg
Jul 13, 2026
PPTAgent: Arbitrary File Write via `save_generated_slides`
4.6
/ 10
Medium
Network
Low
Low
Required
Unchanged
None
Low
Low
Summary
The
The call to The server changes directory to WORKSPACE (if set) on startup, so relative paths land in the workspace. Absolute paths, however, reach any filesystem location accessible to the server process. ImpactThe concrete attack scenarios include
RemediationThe potential fix is something like:
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev
CVE-2026-42079
PYSEC-2026-2892
GHSA-89g2-xw5c-v95p
Jul 13, 2026
PPTAgent: Arbitrary Code Execution via Python eval() of LLM-Generated Code with Builtins in Scope
8.6
/ 10
High
Local
Low
None
Required
Changed
High
High
High
Summary
The call The validation before eval only checks 1) The function name matches ^[a-z]+[a-z]+ (snake_case pattern) and 2) The function name is in self.registered_functions. The arguments to the function are not validated. If an attacker can influence the LLM's generated edit actions (via prompt injection through slide content, document content, or the command_list context), the following payload would execute arbitrary code:
The func check passes (replace_image is registered), and the argument expression executes
Impact
RemediationTo fix this behaviour, pass an explicit safe globals dict that excludes builtins:
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev
CVE-2026-42078
PYSEC-2026-2893
GHSA-hrcw-xc63-g29m
Jul 13, 2026
PPTAgent: Arbitrary File Write + Directory Creation via markdown_table_to_image
4.6
/ 10
Medium
Network
Low
Low
Required
Unchanged
None
Low
Low
SummaryThe
ImpactThe concrete attack scenarios include
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev | ||
1.1.12
patch
3 CVEs
CVE-2026-42080
PYSEC-2026-2894
GHSA-pxhg-7xr2-w7xg
Jul 13, 2026
PPTAgent: Arbitrary File Write via `save_generated_slides`
4.6
/ 10
Medium
Network
Low
Low
Required
Unchanged
None
Low
Low
Summary
The
The call to The server changes directory to WORKSPACE (if set) on startup, so relative paths land in the workspace. Absolute paths, however, reach any filesystem location accessible to the server process. ImpactThe concrete attack scenarios include
RemediationThe potential fix is something like:
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev
CVE-2026-42079
PYSEC-2026-2892
GHSA-89g2-xw5c-v95p
Jul 13, 2026
PPTAgent: Arbitrary Code Execution via Python eval() of LLM-Generated Code with Builtins in Scope
8.6
/ 10
High
Local
Low
None
Required
Changed
High
High
High
Summary
The call The validation before eval only checks 1) The function name matches ^[a-z]+[a-z]+ (snake_case pattern) and 2) The function name is in self.registered_functions. The arguments to the function are not validated. If an attacker can influence the LLM's generated edit actions (via prompt injection through slide content, document content, or the command_list context), the following payload would execute arbitrary code:
The func check passes (replace_image is registered), and the argument expression executes
Impact
RemediationTo fix this behaviour, pass an explicit safe globals dict that excludes builtins:
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev
CVE-2026-42078
PYSEC-2026-2893
GHSA-hrcw-xc63-g29m
Jul 13, 2026
PPTAgent: Arbitrary File Write + Directory Creation via markdown_table_to_image
4.6
/ 10
Medium
Network
Low
Low
Required
Unchanged
None
Low
Low
SummaryThe
ImpactThe concrete attack scenarios include
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev | ||
1.1.11
patch
3 CVEs
CVE-2026-42080
PYSEC-2026-2894
GHSA-pxhg-7xr2-w7xg
Jul 13, 2026
PPTAgent: Arbitrary File Write via `save_generated_slides`
4.6
/ 10
Medium
Network
Low
Low
Required
Unchanged
None
Low
Low
Summary
The
The call to The server changes directory to WORKSPACE (if set) on startup, so relative paths land in the workspace. Absolute paths, however, reach any filesystem location accessible to the server process. ImpactThe concrete attack scenarios include
RemediationThe potential fix is something like:
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev
CVE-2026-42079
PYSEC-2026-2892
GHSA-89g2-xw5c-v95p
Jul 13, 2026
PPTAgent: Arbitrary Code Execution via Python eval() of LLM-Generated Code with Builtins in Scope
8.6
/ 10
High
Local
Low
None
Required
Changed
High
High
High
Summary
The call The validation before eval only checks 1) The function name matches ^[a-z]+[a-z]+ (snake_case pattern) and 2) The function name is in self.registered_functions. The arguments to the function are not validated. If an attacker can influence the LLM's generated edit actions (via prompt injection through slide content, document content, or the command_list context), the following payload would execute arbitrary code:
The func check passes (replace_image is registered), and the argument expression executes
Impact
RemediationTo fix this behaviour, pass an explicit safe globals dict that excludes builtins:
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev
CVE-2026-42078
PYSEC-2026-2893
GHSA-hrcw-xc63-g29m
Jul 13, 2026
PPTAgent: Arbitrary File Write + Directory Creation via markdown_table_to_image
4.6
/ 10
Medium
Network
Low
Low
Required
Unchanged
None
Low
Low
SummaryThe
ImpactThe concrete attack scenarios include
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev | ||
1.1.10
patch
3 CVEs
CVE-2026-42080
PYSEC-2026-2894
GHSA-pxhg-7xr2-w7xg
Jul 13, 2026
PPTAgent: Arbitrary File Write via `save_generated_slides`
4.6
/ 10
Medium
Network
Low
Low
Required
Unchanged
None
Low
Low
Summary
The
The call to The server changes directory to WORKSPACE (if set) on startup, so relative paths land in the workspace. Absolute paths, however, reach any filesystem location accessible to the server process. ImpactThe concrete attack scenarios include
RemediationThe potential fix is something like:
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev
CVE-2026-42079
PYSEC-2026-2892
GHSA-89g2-xw5c-v95p
Jul 13, 2026
PPTAgent: Arbitrary Code Execution via Python eval() of LLM-Generated Code with Builtins in Scope
8.6
/ 10
High
Local
Low
None
Required
Changed
High
High
High
Summary
The call The validation before eval only checks 1) The function name matches ^[a-z]+[a-z]+ (snake_case pattern) and 2) The function name is in self.registered_functions. The arguments to the function are not validated. If an attacker can influence the LLM's generated edit actions (via prompt injection through slide content, document content, or the command_list context), the following payload would execute arbitrary code:
The func check passes (replace_image is registered), and the argument expression executes
Impact
RemediationTo fix this behaviour, pass an explicit safe globals dict that excludes builtins:
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev
CVE-2026-42078
PYSEC-2026-2893
GHSA-hrcw-xc63-g29m
Jul 13, 2026
PPTAgent: Arbitrary File Write + Directory Creation via markdown_table_to_image
4.6
/ 10
Medium
Network
Low
Low
Required
Unchanged
None
Low
Low
SummaryThe
ImpactThe concrete attack scenarios include
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev | ||
1.1.9
patch
3 CVEs
CVE-2026-42080
PYSEC-2026-2894
GHSA-pxhg-7xr2-w7xg
Jul 13, 2026
PPTAgent: Arbitrary File Write via `save_generated_slides`
4.6
/ 10
Medium
Network
Low
Low
Required
Unchanged
None
Low
Low
Summary
The
The call to The server changes directory to WORKSPACE (if set) on startup, so relative paths land in the workspace. Absolute paths, however, reach any filesystem location accessible to the server process. ImpactThe concrete attack scenarios include
RemediationThe potential fix is something like:
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev
CVE-2026-42079
PYSEC-2026-2892
GHSA-89g2-xw5c-v95p
Jul 13, 2026
PPTAgent: Arbitrary Code Execution via Python eval() of LLM-Generated Code with Builtins in Scope
8.6
/ 10
High
Local
Low
None
Required
Changed
High
High
High
Summary
The call The validation before eval only checks 1) The function name matches ^[a-z]+[a-z]+ (snake_case pattern) and 2) The function name is in self.registered_functions. The arguments to the function are not validated. If an attacker can influence the LLM's generated edit actions (via prompt injection through slide content, document content, or the command_list context), the following payload would execute arbitrary code:
The func check passes (replace_image is registered), and the argument expression executes
Impact
RemediationTo fix this behaviour, pass an explicit safe globals dict that excludes builtins:
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev
CVE-2026-42078
PYSEC-2026-2893
GHSA-hrcw-xc63-g29m
Jul 13, 2026
PPTAgent: Arbitrary File Write + Directory Creation via markdown_table_to_image
4.6
/ 10
Medium
Network
Low
Low
Required
Unchanged
None
Low
Low
SummaryThe
ImpactThe concrete attack scenarios include
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev | ||
1.1.8
patch
3 CVEs
CVE-2026-42080
PYSEC-2026-2894
GHSA-pxhg-7xr2-w7xg
Jul 13, 2026
PPTAgent: Arbitrary File Write via `save_generated_slides`
4.6
/ 10
Medium
Network
Low
Low
Required
Unchanged
None
Low
Low
Summary
The
The call to The server changes directory to WORKSPACE (if set) on startup, so relative paths land in the workspace. Absolute paths, however, reach any filesystem location accessible to the server process. ImpactThe concrete attack scenarios include
RemediationThe potential fix is something like:
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev
CVE-2026-42079
PYSEC-2026-2892
GHSA-89g2-xw5c-v95p
Jul 13, 2026
PPTAgent: Arbitrary Code Execution via Python eval() of LLM-Generated Code with Builtins in Scope
8.6
/ 10
High
Local
Low
None
Required
Changed
High
High
High
Summary
The call The validation before eval only checks 1) The function name matches ^[a-z]+[a-z]+ (snake_case pattern) and 2) The function name is in self.registered_functions. The arguments to the function are not validated. If an attacker can influence the LLM's generated edit actions (via prompt injection through slide content, document content, or the command_list context), the following payload would execute arbitrary code:
The func check passes (replace_image is registered), and the argument expression executes
Impact
RemediationTo fix this behaviour, pass an explicit safe globals dict that excludes builtins:
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev
CVE-2026-42078
PYSEC-2026-2893
GHSA-hrcw-xc63-g29m
Jul 13, 2026
PPTAgent: Arbitrary File Write + Directory Creation via markdown_table_to_image
4.6
/ 10
Medium
Network
Low
Low
Required
Unchanged
None
Low
Low
SummaryThe
ImpactThe concrete attack scenarios include
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev | ||
1.1.7
patch
3 CVEs
CVE-2026-42080
PYSEC-2026-2894
GHSA-pxhg-7xr2-w7xg
Jul 13, 2026
PPTAgent: Arbitrary File Write via `save_generated_slides`
4.6
/ 10
Medium
Network
Low
Low
Required
Unchanged
None
Low
Low
Summary
The
The call to The server changes directory to WORKSPACE (if set) on startup, so relative paths land in the workspace. Absolute paths, however, reach any filesystem location accessible to the server process. ImpactThe concrete attack scenarios include
RemediationThe potential fix is something like:
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev
CVE-2026-42079
PYSEC-2026-2892
GHSA-89g2-xw5c-v95p
Jul 13, 2026
PPTAgent: Arbitrary Code Execution via Python eval() of LLM-Generated Code with Builtins in Scope
8.6
/ 10
High
Local
Low
None
Required
Changed
High
High
High
Summary
The call The validation before eval only checks 1) The function name matches ^[a-z]+[a-z]+ (snake_case pattern) and 2) The function name is in self.registered_functions. The arguments to the function are not validated. If an attacker can influence the LLM's generated edit actions (via prompt injection through slide content, document content, or the command_list context), the following payload would execute arbitrary code:
The func check passes (replace_image is registered), and the argument expression executes
Impact
RemediationTo fix this behaviour, pass an explicit safe globals dict that excludes builtins:
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev
CVE-2026-42078
PYSEC-2026-2893
GHSA-hrcw-xc63-g29m
Jul 13, 2026
PPTAgent: Arbitrary File Write + Directory Creation via markdown_table_to_image
4.6
/ 10
Medium
Network
Low
Low
Required
Unchanged
None
Low
Low
SummaryThe
ImpactThe concrete attack scenarios include
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev | ||
1.1.6
patch
3 CVEs
CVE-2026-42080
PYSEC-2026-2894
GHSA-pxhg-7xr2-w7xg
Jul 13, 2026
PPTAgent: Arbitrary File Write via `save_generated_slides`
4.6
/ 10
Medium
Network
Low
Low
Required
Unchanged
None
Low
Low
Summary
The
The call to The server changes directory to WORKSPACE (if set) on startup, so relative paths land in the workspace. Absolute paths, however, reach any filesystem location accessible to the server process. ImpactThe concrete attack scenarios include
RemediationThe potential fix is something like:
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev
CVE-2026-42079
PYSEC-2026-2892
GHSA-89g2-xw5c-v95p
Jul 13, 2026
PPTAgent: Arbitrary Code Execution via Python eval() of LLM-Generated Code with Builtins in Scope
8.6
/ 10
High
Local
Low
None
Required
Changed
High
High
High
Summary
The call The validation before eval only checks 1) The function name matches ^[a-z]+[a-z]+ (snake_case pattern) and 2) The function name is in self.registered_functions. The arguments to the function are not validated. If an attacker can influence the LLM's generated edit actions (via prompt injection through slide content, document content, or the command_list context), the following payload would execute arbitrary code:
The func check passes (replace_image is registered), and the argument expression executes
Impact
RemediationTo fix this behaviour, pass an explicit safe globals dict that excludes builtins:
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev
CVE-2026-42078
PYSEC-2026-2893
GHSA-hrcw-xc63-g29m
Jul 13, 2026
PPTAgent: Arbitrary File Write + Directory Creation via markdown_table_to_image
4.6
/ 10
Medium
Network
Low
Low
Required
Unchanged
None
Low
Low
SummaryThe
ImpactThe concrete attack scenarios include
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev | ||
1.1.5
patch
3 CVEs
CVE-2026-42080
PYSEC-2026-2894
GHSA-pxhg-7xr2-w7xg
Jul 13, 2026
PPTAgent: Arbitrary File Write via `save_generated_slides`
4.6
/ 10
Medium
Network
Low
Low
Required
Unchanged
None
Low
Low
Summary
The
The call to The server changes directory to WORKSPACE (if set) on startup, so relative paths land in the workspace. Absolute paths, however, reach any filesystem location accessible to the server process. ImpactThe concrete attack scenarios include
RemediationThe potential fix is something like:
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev
CVE-2026-42079
PYSEC-2026-2892
GHSA-89g2-xw5c-v95p
Jul 13, 2026
PPTAgent: Arbitrary Code Execution via Python eval() of LLM-Generated Code with Builtins in Scope
8.6
/ 10
High
Local
Low
None
Required
Changed
High
High
High
Summary
The call The validation before eval only checks 1) The function name matches ^[a-z]+[a-z]+ (snake_case pattern) and 2) The function name is in self.registered_functions. The arguments to the function are not validated. If an attacker can influence the LLM's generated edit actions (via prompt injection through slide content, document content, or the command_list context), the following payload would execute arbitrary code:
The func check passes (replace_image is registered), and the argument expression executes
Impact
RemediationTo fix this behaviour, pass an explicit safe globals dict that excludes builtins:
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev
CVE-2026-42078
PYSEC-2026-2893
GHSA-hrcw-xc63-g29m
Jul 13, 2026
PPTAgent: Arbitrary File Write + Directory Creation via markdown_table_to_image
4.6
/ 10
Medium
Network
Low
Low
Required
Unchanged
None
Low
Low
SummaryThe
ImpactThe concrete attack scenarios include
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev | ||
1.1.3
patch
3 CVEs
CVE-2026-42080
PYSEC-2026-2894
GHSA-pxhg-7xr2-w7xg
Jul 13, 2026
PPTAgent: Arbitrary File Write via `save_generated_slides`
4.6
/ 10
Medium
Network
Low
Low
Required
Unchanged
None
Low
Low
Summary
The
The call to The server changes directory to WORKSPACE (if set) on startup, so relative paths land in the workspace. Absolute paths, however, reach any filesystem location accessible to the server process. ImpactThe concrete attack scenarios include
RemediationThe potential fix is something like:
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev
CVE-2026-42079
PYSEC-2026-2892
GHSA-89g2-xw5c-v95p
Jul 13, 2026
PPTAgent: Arbitrary Code Execution via Python eval() of LLM-Generated Code with Builtins in Scope
8.6
/ 10
High
Local
Low
None
Required
Changed
High
High
High
Summary
The call The validation before eval only checks 1) The function name matches ^[a-z]+[a-z]+ (snake_case pattern) and 2) The function name is in self.registered_functions. The arguments to the function are not validated. If an attacker can influence the LLM's generated edit actions (via prompt injection through slide content, document content, or the command_list context), the following payload would execute arbitrary code:
The func check passes (replace_image is registered), and the argument expression executes
Impact
RemediationTo fix this behaviour, pass an explicit safe globals dict that excludes builtins:
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev
CVE-2026-42078
PYSEC-2026-2893
GHSA-hrcw-xc63-g29m
Jul 13, 2026
PPTAgent: Arbitrary File Write + Directory Creation via markdown_table_to_image
4.6
/ 10
Medium
Network
Low
Low
Required
Unchanged
None
Low
Low
SummaryThe
ImpactThe concrete attack scenarios include
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev | ||
1.1.2
patch
3 CVEs
CVE-2026-42080
PYSEC-2026-2894
GHSA-pxhg-7xr2-w7xg
Jul 13, 2026
PPTAgent: Arbitrary File Write via `save_generated_slides`
4.6
/ 10
Medium
Network
Low
Low
Required
Unchanged
None
Low
Low
Summary
The
The call to The server changes directory to WORKSPACE (if set) on startup, so relative paths land in the workspace. Absolute paths, however, reach any filesystem location accessible to the server process. ImpactThe concrete attack scenarios include
RemediationThe potential fix is something like:
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev
CVE-2026-42079
PYSEC-2026-2892
GHSA-89g2-xw5c-v95p
Jul 13, 2026
PPTAgent: Arbitrary Code Execution via Python eval() of LLM-Generated Code with Builtins in Scope
8.6
/ 10
High
Local
Low
None
Required
Changed
High
High
High
Summary
The call The validation before eval only checks 1) The function name matches ^[a-z]+[a-z]+ (snake_case pattern) and 2) The function name is in self.registered_functions. The arguments to the function are not validated. If an attacker can influence the LLM's generated edit actions (via prompt injection through slide content, document content, or the command_list context), the following payload would execute arbitrary code:
The func check passes (replace_image is registered), and the argument expression executes
Impact
RemediationTo fix this behaviour, pass an explicit safe globals dict that excludes builtins:
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev
CVE-2026-42078
PYSEC-2026-2893
GHSA-hrcw-xc63-g29m
Jul 13, 2026
PPTAgent: Arbitrary File Write + Directory Creation via markdown_table_to_image
4.6
/ 10
Medium
Network
Low
Low
Required
Unchanged
None
Low
Low
SummaryThe
ImpactThe concrete attack scenarios include
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev | ||
1.1.1
minor
3 CVEs
CVE-2026-42080
PYSEC-2026-2894
GHSA-pxhg-7xr2-w7xg
Jul 13, 2026
PPTAgent: Arbitrary File Write via `save_generated_slides`
4.6
/ 10
Medium
Network
Low
Low
Required
Unchanged
None
Low
Low
Summary
The
The call to The server changes directory to WORKSPACE (if set) on startup, so relative paths land in the workspace. Absolute paths, however, reach any filesystem location accessible to the server process. ImpactThe concrete attack scenarios include
RemediationThe potential fix is something like:
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev
CVE-2026-42079
PYSEC-2026-2892
GHSA-89g2-xw5c-v95p
Jul 13, 2026
PPTAgent: Arbitrary Code Execution via Python eval() of LLM-Generated Code with Builtins in Scope
8.6
/ 10
High
Local
Low
None
Required
Changed
High
High
High
Summary
The call The validation before eval only checks 1) The function name matches ^[a-z]+[a-z]+ (snake_case pattern) and 2) The function name is in self.registered_functions. The arguments to the function are not validated. If an attacker can influence the LLM's generated edit actions (via prompt injection through slide content, document content, or the command_list context), the following payload would execute arbitrary code:
The func check passes (replace_image is registered), and the argument expression executes
Impact
RemediationTo fix this behaviour, pass an explicit safe globals dict that excludes builtins:
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev
CVE-2026-42078
PYSEC-2026-2893
GHSA-hrcw-xc63-g29m
Jul 13, 2026
PPTAgent: Arbitrary File Write + Directory Creation via markdown_table_to_image
4.6
/ 10
Medium
Network
Low
Low
Required
Unchanged
None
Low
Low
SummaryThe
ImpactThe concrete attack scenarios include
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev | ||
1.0.2
patch
3 CVEs
CVE-2026-42080
PYSEC-2026-2894
GHSA-pxhg-7xr2-w7xg
Jul 13, 2026
PPTAgent: Arbitrary File Write via `save_generated_slides`
4.6
/ 10
Medium
Network
Low
Low
Required
Unchanged
None
Low
Low
Summary
The
The call to The server changes directory to WORKSPACE (if set) on startup, so relative paths land in the workspace. Absolute paths, however, reach any filesystem location accessible to the server process. ImpactThe concrete attack scenarios include
RemediationThe potential fix is something like:
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev
CVE-2026-42079
PYSEC-2026-2892
GHSA-89g2-xw5c-v95p
Jul 13, 2026
PPTAgent: Arbitrary Code Execution via Python eval() of LLM-Generated Code with Builtins in Scope
8.6
/ 10
High
Local
Low
None
Required
Changed
High
High
High
Summary
The call The validation before eval only checks 1) The function name matches ^[a-z]+[a-z]+ (snake_case pattern) and 2) The function name is in self.registered_functions. The arguments to the function are not validated. If an attacker can influence the LLM's generated edit actions (via prompt injection through slide content, document content, or the command_list context), the following payload would execute arbitrary code:
The func check passes (replace_image is registered), and the argument expression executes
Impact
RemediationTo fix this behaviour, pass an explicit safe globals dict that excludes builtins:
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev
CVE-2026-42078
PYSEC-2026-2893
GHSA-hrcw-xc63-g29m
Jul 13, 2026
PPTAgent: Arbitrary File Write + Directory Creation via markdown_table_to_image
4.6
/ 10
Medium
Network
Low
Low
Required
Unchanged
None
Low
Low
SummaryThe
ImpactThe concrete attack scenarios include
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev | ||
1.0.1
patch
3 CVEs
CVE-2026-42080
PYSEC-2026-2894
GHSA-pxhg-7xr2-w7xg
Jul 13, 2026
PPTAgent: Arbitrary File Write via `save_generated_slides`
4.6
/ 10
Medium
Network
Low
Low
Required
Unchanged
None
Low
Low
Summary
The
The call to The server changes directory to WORKSPACE (if set) on startup, so relative paths land in the workspace. Absolute paths, however, reach any filesystem location accessible to the server process. ImpactThe concrete attack scenarios include
RemediationThe potential fix is something like:
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev
CVE-2026-42079
PYSEC-2026-2892
GHSA-89g2-xw5c-v95p
Jul 13, 2026
PPTAgent: Arbitrary Code Execution via Python eval() of LLM-Generated Code with Builtins in Scope
8.6
/ 10
High
Local
Low
None
Required
Changed
High
High
High
Summary
The call The validation before eval only checks 1) The function name matches ^[a-z]+[a-z]+ (snake_case pattern) and 2) The function name is in self.registered_functions. The arguments to the function are not validated. If an attacker can influence the LLM's generated edit actions (via prompt injection through slide content, document content, or the command_list context), the following payload would execute arbitrary code:
The func check passes (replace_image is registered), and the argument expression executes
Impact
RemediationTo fix this behaviour, pass an explicit safe globals dict that excludes builtins:
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev
CVE-2026-42078
PYSEC-2026-2893
GHSA-hrcw-xc63-g29m
Jul 13, 2026
PPTAgent: Arbitrary File Write + Directory Creation via markdown_table_to_image
4.6
/ 10
Medium
Network
Low
Low
Required
Unchanged
None
Low
Low
SummaryThe
ImpactThe concrete attack scenarios include
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev | ||
1.0.0
major
3 CVEs
CVE-2026-42080
PYSEC-2026-2894
GHSA-pxhg-7xr2-w7xg
Jul 13, 2026
PPTAgent: Arbitrary File Write via `save_generated_slides`
4.6
/ 10
Medium
Network
Low
Low
Required
Unchanged
None
Low
Low
Summary
The
The call to The server changes directory to WORKSPACE (if set) on startup, so relative paths land in the workspace. Absolute paths, however, reach any filesystem location accessible to the server process. ImpactThe concrete attack scenarios include
RemediationThe potential fix is something like:
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev
CVE-2026-42079
PYSEC-2026-2892
GHSA-89g2-xw5c-v95p
Jul 13, 2026
PPTAgent: Arbitrary Code Execution via Python eval() of LLM-Generated Code with Builtins in Scope
8.6
/ 10
High
Local
Low
None
Required
Changed
High
High
High
Summary
The call The validation before eval only checks 1) The function name matches ^[a-z]+[a-z]+ (snake_case pattern) and 2) The function name is in self.registered_functions. The arguments to the function are not validated. If an attacker can influence the LLM's generated edit actions (via prompt injection through slide content, document content, or the command_list context), the following payload would execute arbitrary code:
The func check passes (replace_image is registered), and the argument expression executes
Impact
RemediationTo fix this behaviour, pass an explicit safe globals dict that excludes builtins:
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev
CVE-2026-42078
PYSEC-2026-2893
GHSA-hrcw-xc63-g29m
Jul 13, 2026
PPTAgent: Arbitrary File Write + Directory Creation via markdown_table_to_image
4.6
/ 10
Medium
Network
Low
Low
Required
Unchanged
None
Low
Low
SummaryThe
ImpactThe concrete attack scenarios include
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev | ||
0.2.18
patch
3 CVEs
CVE-2026-42080
PYSEC-2026-2894
GHSA-pxhg-7xr2-w7xg
Jul 13, 2026
PPTAgent: Arbitrary File Write via `save_generated_slides`
4.6
/ 10
Medium
Network
Low
Low
Required
Unchanged
None
Low
Low
Summary
The
The call to The server changes directory to WORKSPACE (if set) on startup, so relative paths land in the workspace. Absolute paths, however, reach any filesystem location accessible to the server process. ImpactThe concrete attack scenarios include
RemediationThe potential fix is something like:
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev
CVE-2026-42079
PYSEC-2026-2892
GHSA-89g2-xw5c-v95p
Jul 13, 2026
PPTAgent: Arbitrary Code Execution via Python eval() of LLM-Generated Code with Builtins in Scope
8.6
/ 10
High
Local
Low
None
Required
Changed
High
High
High
Summary
The call The validation before eval only checks 1) The function name matches ^[a-z]+[a-z]+ (snake_case pattern) and 2) The function name is in self.registered_functions. The arguments to the function are not validated. If an attacker can influence the LLM's generated edit actions (via prompt injection through slide content, document content, or the command_list context), the following payload would execute arbitrary code:
The func check passes (replace_image is registered), and the argument expression executes
Impact
RemediationTo fix this behaviour, pass an explicit safe globals dict that excludes builtins:
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev
CVE-2026-42078
PYSEC-2026-2893
GHSA-hrcw-xc63-g29m
Jul 13, 2026
PPTAgent: Arbitrary File Write + Directory Creation via markdown_table_to_image
4.6
/ 10
Medium
Network
Low
Low
Required
Unchanged
None
Low
Low
SummaryThe
ImpactThe concrete attack scenarios include
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev | ||
0.2.17
patch
3 CVEs
CVE-2026-42080
PYSEC-2026-2894
GHSA-pxhg-7xr2-w7xg
Jul 13, 2026
PPTAgent: Arbitrary File Write via `save_generated_slides`
4.6
/ 10
Medium
Network
Low
Low
Required
Unchanged
None
Low
Low
Summary
The
The call to The server changes directory to WORKSPACE (if set) on startup, so relative paths land in the workspace. Absolute paths, however, reach any filesystem location accessible to the server process. ImpactThe concrete attack scenarios include
RemediationThe potential fix is something like:
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev
CVE-2026-42079
PYSEC-2026-2892
GHSA-89g2-xw5c-v95p
Jul 13, 2026
PPTAgent: Arbitrary Code Execution via Python eval() of LLM-Generated Code with Builtins in Scope
8.6
/ 10
High
Local
Low
None
Required
Changed
High
High
High
Summary
The call The validation before eval only checks 1) The function name matches ^[a-z]+[a-z]+ (snake_case pattern) and 2) The function name is in self.registered_functions. The arguments to the function are not validated. If an attacker can influence the LLM's generated edit actions (via prompt injection through slide content, document content, or the command_list context), the following payload would execute arbitrary code:
The func check passes (replace_image is registered), and the argument expression executes
Impact
RemediationTo fix this behaviour, pass an explicit safe globals dict that excludes builtins:
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev
CVE-2026-42078
PYSEC-2026-2893
GHSA-hrcw-xc63-g29m
Jul 13, 2026
PPTAgent: Arbitrary File Write + Directory Creation via markdown_table_to_image
4.6
/ 10
Medium
Network
Low
Low
Required
Unchanged
None
Low
Low
SummaryThe
ImpactThe concrete attack scenarios include
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev | ||
0.2.16
patch
3 CVEs
CVE-2026-42080
PYSEC-2026-2894
GHSA-pxhg-7xr2-w7xg
Jul 13, 2026
PPTAgent: Arbitrary File Write via `save_generated_slides`
4.6
/ 10
Medium
Network
Low
Low
Required
Unchanged
None
Low
Low
Summary
The
The call to The server changes directory to WORKSPACE (if set) on startup, so relative paths land in the workspace. Absolute paths, however, reach any filesystem location accessible to the server process. ImpactThe concrete attack scenarios include
RemediationThe potential fix is something like:
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev
CVE-2026-42079
PYSEC-2026-2892
GHSA-89g2-xw5c-v95p
Jul 13, 2026
PPTAgent: Arbitrary Code Execution via Python eval() of LLM-Generated Code with Builtins in Scope
8.6
/ 10
High
Local
Low
None
Required
Changed
High
High
High
Summary
The call The validation before eval only checks 1) The function name matches ^[a-z]+[a-z]+ (snake_case pattern) and 2) The function name is in self.registered_functions. The arguments to the function are not validated. If an attacker can influence the LLM's generated edit actions (via prompt injection through slide content, document content, or the command_list context), the following payload would execute arbitrary code:
The func check passes (replace_image is registered), and the argument expression executes
Impact
RemediationTo fix this behaviour, pass an explicit safe globals dict that excludes builtins:
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev
CVE-2026-42078
PYSEC-2026-2893
GHSA-hrcw-xc63-g29m
Jul 13, 2026
PPTAgent: Arbitrary File Write + Directory Creation via markdown_table_to_image
4.6
/ 10
Medium
Network
Low
Low
Required
Unchanged
None
Low
Low
SummaryThe
ImpactThe concrete attack scenarios include
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev | ||
0.2.15
patch
3 CVEs
CVE-2026-42080
PYSEC-2026-2894
GHSA-pxhg-7xr2-w7xg
Jul 13, 2026
PPTAgent: Arbitrary File Write via `save_generated_slides`
4.6
/ 10
Medium
Network
Low
Low
Required
Unchanged
None
Low
Low
Summary
The
The call to The server changes directory to WORKSPACE (if set) on startup, so relative paths land in the workspace. Absolute paths, however, reach any filesystem location accessible to the server process. ImpactThe concrete attack scenarios include
RemediationThe potential fix is something like:
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev
CVE-2026-42079
PYSEC-2026-2892
GHSA-89g2-xw5c-v95p
Jul 13, 2026
PPTAgent: Arbitrary Code Execution via Python eval() of LLM-Generated Code with Builtins in Scope
8.6
/ 10
High
Local
Low
None
Required
Changed
High
High
High
Summary
The call The validation before eval only checks 1) The function name matches ^[a-z]+[a-z]+ (snake_case pattern) and 2) The function name is in self.registered_functions. The arguments to the function are not validated. If an attacker can influence the LLM's generated edit actions (via prompt injection through slide content, document content, or the command_list context), the following payload would execute arbitrary code:
The func check passes (replace_image is registered), and the argument expression executes
Impact
RemediationTo fix this behaviour, pass an explicit safe globals dict that excludes builtins:
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev
CVE-2026-42078
PYSEC-2026-2893
GHSA-hrcw-xc63-g29m
Jul 13, 2026
PPTAgent: Arbitrary File Write + Directory Creation via markdown_table_to_image
4.6
/ 10
Medium
Network
Low
Low
Required
Unchanged
None
Low
Low
SummaryThe
ImpactThe concrete attack scenarios include
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev | ||
0.2.14
patch
3 CVEs
CVE-2026-42080
PYSEC-2026-2894
GHSA-pxhg-7xr2-w7xg
Jul 13, 2026
PPTAgent: Arbitrary File Write via `save_generated_slides`
4.6
/ 10
Medium
Network
Low
Low
Required
Unchanged
None
Low
Low
Summary
The
The call to The server changes directory to WORKSPACE (if set) on startup, so relative paths land in the workspace. Absolute paths, however, reach any filesystem location accessible to the server process. ImpactThe concrete attack scenarios include
RemediationThe potential fix is something like:
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev
CVE-2026-42079
PYSEC-2026-2892
GHSA-89g2-xw5c-v95p
Jul 13, 2026
PPTAgent: Arbitrary Code Execution via Python eval() of LLM-Generated Code with Builtins in Scope
8.6
/ 10
High
Local
Low
None
Required
Changed
High
High
High
Summary
The call The validation before eval only checks 1) The function name matches ^[a-z]+[a-z]+ (snake_case pattern) and 2) The function name is in self.registered_functions. The arguments to the function are not validated. If an attacker can influence the LLM's generated edit actions (via prompt injection through slide content, document content, or the command_list context), the following payload would execute arbitrary code:
The func check passes (replace_image is registered), and the argument expression executes
Impact
RemediationTo fix this behaviour, pass an explicit safe globals dict that excludes builtins:
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev
CVE-2026-42078
PYSEC-2026-2893
GHSA-hrcw-xc63-g29m
Jul 13, 2026
PPTAgent: Arbitrary File Write + Directory Creation via markdown_table_to_image
4.6
/ 10
Medium
Network
Low
Low
Required
Unchanged
None
Low
Low
SummaryThe
ImpactThe concrete attack scenarios include
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev | ||
0.2.13
patch
3 CVEs
CVE-2026-42080
PYSEC-2026-2894
GHSA-pxhg-7xr2-w7xg
Jul 13, 2026
PPTAgent: Arbitrary File Write via `save_generated_slides`
4.6
/ 10
Medium
Network
Low
Low
Required
Unchanged
None
Low
Low
Summary
The
The call to The server changes directory to WORKSPACE (if set) on startup, so relative paths land in the workspace. Absolute paths, however, reach any filesystem location accessible to the server process. ImpactThe concrete attack scenarios include
RemediationThe potential fix is something like:
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev
CVE-2026-42079
PYSEC-2026-2892
GHSA-89g2-xw5c-v95p
Jul 13, 2026
PPTAgent: Arbitrary Code Execution via Python eval() of LLM-Generated Code with Builtins in Scope
8.6
/ 10
High
Local
Low
None
Required
Changed
High
High
High
Summary
The call The validation before eval only checks 1) The function name matches ^[a-z]+[a-z]+ (snake_case pattern) and 2) The function name is in self.registered_functions. The arguments to the function are not validated. If an attacker can influence the LLM's generated edit actions (via prompt injection through slide content, document content, or the command_list context), the following payload would execute arbitrary code:
The func check passes (replace_image is registered), and the argument expression executes
Impact
RemediationTo fix this behaviour, pass an explicit safe globals dict that excludes builtins:
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev
CVE-2026-42078
PYSEC-2026-2893
GHSA-hrcw-xc63-g29m
Jul 13, 2026
PPTAgent: Arbitrary File Write + Directory Creation via markdown_table_to_image
4.6
/ 10
Medium
Network
Low
Low
Required
Unchanged
None
Low
Low
SummaryThe
ImpactThe concrete attack scenarios include
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev | ||
0.2.11
patch
3 CVEs
CVE-2026-42080
PYSEC-2026-2894
GHSA-pxhg-7xr2-w7xg
Jul 13, 2026
PPTAgent: Arbitrary File Write via `save_generated_slides`
4.6
/ 10
Medium
Network
Low
Low
Required
Unchanged
None
Low
Low
Summary
The
The call to The server changes directory to WORKSPACE (if set) on startup, so relative paths land in the workspace. Absolute paths, however, reach any filesystem location accessible to the server process. ImpactThe concrete attack scenarios include
RemediationThe potential fix is something like:
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev
CVE-2026-42079
PYSEC-2026-2892
GHSA-89g2-xw5c-v95p
Jul 13, 2026
PPTAgent: Arbitrary Code Execution via Python eval() of LLM-Generated Code with Builtins in Scope
8.6
/ 10
High
Local
Low
None
Required
Changed
High
High
High
Summary
The call The validation before eval only checks 1) The function name matches ^[a-z]+[a-z]+ (snake_case pattern) and 2) The function name is in self.registered_functions. The arguments to the function are not validated. If an attacker can influence the LLM's generated edit actions (via prompt injection through slide content, document content, or the command_list context), the following payload would execute arbitrary code:
The func check passes (replace_image is registered), and the argument expression executes
Impact
RemediationTo fix this behaviour, pass an explicit safe globals dict that excludes builtins:
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev
CVE-2026-42078
PYSEC-2026-2893
GHSA-hrcw-xc63-g29m
Jul 13, 2026
PPTAgent: Arbitrary File Write + Directory Creation via markdown_table_to_image
4.6
/ 10
Medium
Network
Low
Low
Required
Unchanged
None
Low
Low
SummaryThe
ImpactThe concrete attack scenarios include
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev | ||
0.2.10
patch
3 CVEs
CVE-2026-42080
PYSEC-2026-2894
GHSA-pxhg-7xr2-w7xg
Jul 13, 2026
PPTAgent: Arbitrary File Write via `save_generated_slides`
4.6
/ 10
Medium
Network
Low
Low
Required
Unchanged
None
Low
Low
Summary
The
The call to The server changes directory to WORKSPACE (if set) on startup, so relative paths land in the workspace. Absolute paths, however, reach any filesystem location accessible to the server process. ImpactThe concrete attack scenarios include
RemediationThe potential fix is something like:
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev
CVE-2026-42079
PYSEC-2026-2892
GHSA-89g2-xw5c-v95p
Jul 13, 2026
PPTAgent: Arbitrary Code Execution via Python eval() of LLM-Generated Code with Builtins in Scope
8.6
/ 10
High
Local
Low
None
Required
Changed
High
High
High
Summary
The call The validation before eval only checks 1) The function name matches ^[a-z]+[a-z]+ (snake_case pattern) and 2) The function name is in self.registered_functions. The arguments to the function are not validated. If an attacker can influence the LLM's generated edit actions (via prompt injection through slide content, document content, or the command_list context), the following payload would execute arbitrary code:
The func check passes (replace_image is registered), and the argument expression executes
Impact
RemediationTo fix this behaviour, pass an explicit safe globals dict that excludes builtins:
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev
CVE-2026-42078
PYSEC-2026-2893
GHSA-hrcw-xc63-g29m
Jul 13, 2026
PPTAgent: Arbitrary File Write + Directory Creation via markdown_table_to_image
4.6
/ 10
Medium
Network
Low
Low
Required
Unchanged
None
Low
Low
SummaryThe
ImpactThe concrete attack scenarios include
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev | ||
0.2.9
patch
3 CVEs
CVE-2026-42080
PYSEC-2026-2894
GHSA-pxhg-7xr2-w7xg
Jul 13, 2026
PPTAgent: Arbitrary File Write via `save_generated_slides`
4.6
/ 10
Medium
Network
Low
Low
Required
Unchanged
None
Low
Low
Summary
The
The call to The server changes directory to WORKSPACE (if set) on startup, so relative paths land in the workspace. Absolute paths, however, reach any filesystem location accessible to the server process. ImpactThe concrete attack scenarios include
RemediationThe potential fix is something like:
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev
CVE-2026-42079
PYSEC-2026-2892
GHSA-89g2-xw5c-v95p
Jul 13, 2026
PPTAgent: Arbitrary Code Execution via Python eval() of LLM-Generated Code with Builtins in Scope
8.6
/ 10
High
Local
Low
None
Required
Changed
High
High
High
Summary
The call The validation before eval only checks 1) The function name matches ^[a-z]+[a-z]+ (snake_case pattern) and 2) The function name is in self.registered_functions. The arguments to the function are not validated. If an attacker can influence the LLM's generated edit actions (via prompt injection through slide content, document content, or the command_list context), the following payload would execute arbitrary code:
The func check passes (replace_image is registered), and the argument expression executes
Impact
RemediationTo fix this behaviour, pass an explicit safe globals dict that excludes builtins:
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev
CVE-2026-42078
PYSEC-2026-2893
GHSA-hrcw-xc63-g29m
Jul 13, 2026
PPTAgent: Arbitrary File Write + Directory Creation via markdown_table_to_image
4.6
/ 10
Medium
Network
Low
Low
Required
Unchanged
None
Low
Low
SummaryThe
ImpactThe concrete attack scenarios include
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev | ||
0.2.8
patch
3 CVEs
CVE-2026-42080
PYSEC-2026-2894
GHSA-pxhg-7xr2-w7xg
Jul 13, 2026
PPTAgent: Arbitrary File Write via `save_generated_slides`
4.6
/ 10
Medium
Network
Low
Low
Required
Unchanged
None
Low
Low
Summary
The
The call to The server changes directory to WORKSPACE (if set) on startup, so relative paths land in the workspace. Absolute paths, however, reach any filesystem location accessible to the server process. ImpactThe concrete attack scenarios include
RemediationThe potential fix is something like:
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev
CVE-2026-42079
PYSEC-2026-2892
GHSA-89g2-xw5c-v95p
Jul 13, 2026
PPTAgent: Arbitrary Code Execution via Python eval() of LLM-Generated Code with Builtins in Scope
8.6
/ 10
High
Local
Low
None
Required
Changed
High
High
High
Summary
The call The validation before eval only checks 1) The function name matches ^[a-z]+[a-z]+ (snake_case pattern) and 2) The function name is in self.registered_functions. The arguments to the function are not validated. If an attacker can influence the LLM's generated edit actions (via prompt injection through slide content, document content, or the command_list context), the following payload would execute arbitrary code:
The func check passes (replace_image is registered), and the argument expression executes
Impact
RemediationTo fix this behaviour, pass an explicit safe globals dict that excludes builtins:
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev
CVE-2026-42078
PYSEC-2026-2893
GHSA-hrcw-xc63-g29m
Jul 13, 2026
PPTAgent: Arbitrary File Write + Directory Creation via markdown_table_to_image
4.6
/ 10
Medium
Network
Low
Low
Required
Unchanged
None
Low
Low
SummaryThe
ImpactThe concrete attack scenarios include
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev | ||
0.2.7
patch
3 CVEs
CVE-2026-42080
PYSEC-2026-2894
GHSA-pxhg-7xr2-w7xg
Jul 13, 2026
PPTAgent: Arbitrary File Write via `save_generated_slides`
4.6
/ 10
Medium
Network
Low
Low
Required
Unchanged
None
Low
Low
Summary
The
The call to The server changes directory to WORKSPACE (if set) on startup, so relative paths land in the workspace. Absolute paths, however, reach any filesystem location accessible to the server process. ImpactThe concrete attack scenarios include
RemediationThe potential fix is something like:
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev
CVE-2026-42079
PYSEC-2026-2892
GHSA-89g2-xw5c-v95p
Jul 13, 2026
PPTAgent: Arbitrary Code Execution via Python eval() of LLM-Generated Code with Builtins in Scope
8.6
/ 10
High
Local
Low
None
Required
Changed
High
High
High
Summary
The call The validation before eval only checks 1) The function name matches ^[a-z]+[a-z]+ (snake_case pattern) and 2) The function name is in self.registered_functions. The arguments to the function are not validated. If an attacker can influence the LLM's generated edit actions (via prompt injection through slide content, document content, or the command_list context), the following payload would execute arbitrary code:
The func check passes (replace_image is registered), and the argument expression executes
Impact
RemediationTo fix this behaviour, pass an explicit safe globals dict that excludes builtins:
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev
CVE-2026-42078
PYSEC-2026-2893
GHSA-hrcw-xc63-g29m
Jul 13, 2026
PPTAgent: Arbitrary File Write + Directory Creation via markdown_table_to_image
4.6
/ 10
Medium
Network
Low
Low
Required
Unchanged
None
Low
Low
SummaryThe
ImpactThe concrete attack scenarios include
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev | ||
0.2.6
patch
3 CVEs
CVE-2026-42080
PYSEC-2026-2894
GHSA-pxhg-7xr2-w7xg
Jul 13, 2026
PPTAgent: Arbitrary File Write via `save_generated_slides`
4.6
/ 10
Medium
Network
Low
Low
Required
Unchanged
None
Low
Low
Summary
The
The call to The server changes directory to WORKSPACE (if set) on startup, so relative paths land in the workspace. Absolute paths, however, reach any filesystem location accessible to the server process. ImpactThe concrete attack scenarios include
RemediationThe potential fix is something like:
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev
CVE-2026-42079
PYSEC-2026-2892
GHSA-89g2-xw5c-v95p
Jul 13, 2026
PPTAgent: Arbitrary Code Execution via Python eval() of LLM-Generated Code with Builtins in Scope
8.6
/ 10
High
Local
Low
None
Required
Changed
High
High
High
Summary
The call The validation before eval only checks 1) The function name matches ^[a-z]+[a-z]+ (snake_case pattern) and 2) The function name is in self.registered_functions. The arguments to the function are not validated. If an attacker can influence the LLM's generated edit actions (via prompt injection through slide content, document content, or the command_list context), the following payload would execute arbitrary code:
The func check passes (replace_image is registered), and the argument expression executes
Impact
RemediationTo fix this behaviour, pass an explicit safe globals dict that excludes builtins:
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev
CVE-2026-42078
PYSEC-2026-2893
GHSA-hrcw-xc63-g29m
Jul 13, 2026
PPTAgent: Arbitrary File Write + Directory Creation via markdown_table_to_image
4.6
/ 10
Medium
Network
Low
Low
Required
Unchanged
None
Low
Low
SummaryThe
ImpactThe concrete attack scenarios include
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev | ||
0.2.5
patch
3 CVEs
CVE-2026-42080
PYSEC-2026-2894
GHSA-pxhg-7xr2-w7xg
Jul 13, 2026
PPTAgent: Arbitrary File Write via `save_generated_slides`
4.6
/ 10
Medium
Network
Low
Low
Required
Unchanged
None
Low
Low
Summary
The
The call to The server changes directory to WORKSPACE (if set) on startup, so relative paths land in the workspace. Absolute paths, however, reach any filesystem location accessible to the server process. ImpactThe concrete attack scenarios include
RemediationThe potential fix is something like:
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev
CVE-2026-42079
PYSEC-2026-2892
GHSA-89g2-xw5c-v95p
Jul 13, 2026
PPTAgent: Arbitrary Code Execution via Python eval() of LLM-Generated Code with Builtins in Scope
8.6
/ 10
High
Local
Low
None
Required
Changed
High
High
High
Summary
The call The validation before eval only checks 1) The function name matches ^[a-z]+[a-z]+ (snake_case pattern) and 2) The function name is in self.registered_functions. The arguments to the function are not validated. If an attacker can influence the LLM's generated edit actions (via prompt injection through slide content, document content, or the command_list context), the following payload would execute arbitrary code:
The func check passes (replace_image is registered), and the argument expression executes
Impact
RemediationTo fix this behaviour, pass an explicit safe globals dict that excludes builtins:
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev
CVE-2026-42078
PYSEC-2026-2893
GHSA-hrcw-xc63-g29m
Jul 13, 2026
PPTAgent: Arbitrary File Write + Directory Creation via markdown_table_to_image
4.6
/ 10
Medium
Network
Low
Low
Required
Unchanged
None
Low
Low
SummaryThe
ImpactThe concrete attack scenarios include
Affected versions
0.2.0
0.2.1
0.2.10
0.2.11
0.2.13
0.2.14
0.2.15
0.2.16
0.2.17
0.2.18
0.2.2
0.2.3
+ 41 more Show less
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
1.0.0
1.0.1
1.0.2
1.1.1
1.1.10
1.1.11
1.1.12
1.1.13
1.1.14
1.1.15
1.1.16
1.1.17
1.1.18
1.1.19
1.1.2
1.1.20
1.1.21
1.1.22
1.1.24
1.1.26
1.1.27
1.1.28
1.1.29
1.1.3
1.1.30
1.1.31
1.1.32
1.1.33
1.1.34
1.1.35
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
Fixed in
1.1.36
References
Updated Jul 13, 2026 · Source: OSV.dev |