Skip to content

Security: FhG-IISB/jNO

Security

SECURITY.md

Security Policy

Supported versions

jNO follows a single-track release model — only the latest tagged release on PyPI receives security fixes. The main branch is the development line; security patches land there and ship in the next minor release.

Version Supported
Latest main
Latest PyPI release
All older releases

Reporting a vulnerability

If you believe you have found a security vulnerability in jNO, please do not file a public GitHub issue. Public disclosure before a fix is available puts other users at risk.

Instead, report privately by one of:

Please include:

  1. A description of the vulnerability and what it allows.
  2. The shortest reproduction you have (a single Python file, a domain construction, a malicious input file, etc.).
  3. The jNO version (python -c "import jno; print(jno.__version__)") and any relevant JAX / hardware details.
  4. Whether you would like to be credited and how.

Scope

The most security-relevant surface in jNO is:

  • Loading checkpoints and pickled artefacts (jno.save, jno.load, statistics.load) — these use cloudpickle and execute arbitrary Python on load. Treat any checkpoint from an untrusted source as potentially malicious code.
  • Loading meshes via meshio from user-supplied paths.
  • The hyperparameter tuner running arbitrary user-supplied training configs.

Out of scope:

  • Bugs that require already running arbitrary code in the same Python process as jNO (e.g., a malicious script importing jno and then calling its own functions). Those are application-level issues.
  • Denial of service through excessive compute / memory in user-supplied PDEs (this is the user's responsibility — JAX gives them the gun, jNO just provides the holster).

There aren't any published security advisories