Submit #1003040: Sony NNabla 1.39.0 (final release; commit cbf0545b verified) Code Injectioninfo

TitleSony NNabla 1.39.0 (final release; commit cbf0545b verified) Code Injection
DescriptionA vulnerability was found in Sony NNabla 1.39.0 and classified as high 8.8. Affected is the func_set_nnabla_version_decorate function of the NNP converter component (python/src/nnabla/utils/converter/utils.py). The manipulation of the argument function.type leads to code injection (CWE-94). It is possible to launch the attack remotely. User interaction is required because a victim must run the documented nnabla_cli convert command on a crafted .nnp model file. Technical Details - Affected file/function: python/src/nnabla/utils/converter/utils.py / func_set_nnabla_version_decorate() (eval at lines 111 and 116); gate func_set_import_nnp() at lines 352-356 checks only the first network with a given name, while the decorator iterates all same-name networks - Vulnerable parameter: function.type field of the NNP network protobuf - Attack vector: Network (crafted model file delivered remotely) - Privileges required: None - Trigger condition: victim converts an attacker-supplied .nnp file with `nnabla_cli convert malicious.nnp out.nnp --nnp-version 1.39.0`. The file contains two networks with the same name; the benign first network passes the version gate, and the second network's function.type is concatenated into eval() (payload of the form `__class__ and 0 or __import__('os').system('<cmd>')`). The command executes; a subsequent KeyError (unknown-type lookup) crashes the process afterwards (exit 255) without undoing the execution. Verified end-to-end in Docker (ubuntu:22.04) against the official nnabla==1.39.0 PyPI package with runtime network disabled; the master branch still contains the vulnerable eval() calls as of 2026-09-24. Impact - Confidentiality: High (arbitrary code execution in the converting user's context) - Integrity: High (arbitrary file modification possible) - Availability: High (arbitrary process termination/interference possible) CVSS v3.1 Score: 8.8 (High) Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H Timeline - Discovered: [unknown] - Vendor notified: [pending — private contact attempted via Sony HackerOne; the GitHub repository is archived read-only since 2026-07-29 and provides no security policy or private reporting channel] - Patch released: [pending — not expected upstream; the project is EOL and v1.39.0 (2024-05-29) is the final release] - Public disclosure: [pending] Countermeasure Replace the eval()-based parameter probing with safe attribute lookup (hasattr/getattr on the protobuf function object), validate function.type against the set of known function types before processing, and reject duplicate network names at parse time. As no upstream fix is expected, users should not convert .nnp files from untrusted sources with nnabla_cli until a patched fork exists.
Source⚠️ https://github.com/3em0/cve_repo/blob/main/2026/Sony-NNabla-1.39.0-Code-Injection-in-NNP-Converter-(&#039;function.type&#039;-eval()).md
User r1ck99 (UID 100733)
Submission09/27/2026 07:38 (1 month ago)
Moderation10/25/2026 08:37 (28 days later)
StatusAccepted
VulDB entry426172 [Sony Neural Network Libraries up to 1.39.0 NNP Converter utils.py func_set_nnabla_version_decorate function.type code injection]
Points20

Interested in the pricing of exploits?

See the underground prices here!