← Scan another repo

github.com/Pythagora-io/gpt-pilot

@ 9b763fdaf002

Submitted 8/4/2026, 10:28:01 AM · Status: ok

Risk grade
F
100 / 100
Findings
89
2 critical13 high63 medium11 low0 info0 on CISA KEV0ATT&CK
Showing 89 of 89 findings

Findings

  • h11 accepts some malformed Chunked-Encoding bodies
    grypeCVE-2025-43859EPSS 0.6%
  • h11: h11 accepts some malformed Chunked-Encoding bodies
    h11 is a Python implementation of HTTP/1.1. Prior to version 0.16.0, a leniency in h11's parsing of line terminators in chunked-coding message bodies can lead to request smuggling vulnerabilities under certain conditions. This issue has been patched in version 0.16.0. Since explo…
    trivyCVE-2025-43859
  • Decompression-bomb safeguards bypassed when following HTTP redirects (streaming API)
    grypeCVE-2026-21441EPSS 2.7%
  • Mako vulnerable to path traversal via backslash URI on Windows in TemplateLookup
    grypeCVE-2026-44307EPSS 0.6%
  • Mako: Path traversal via double-slash URI prefix in TemplateLookup
    grypeCVE-2026-41205EPSS 0.4%
  • urllib3 allows an unbounded number of links in the decompression chain
    grypeCVE-2025-66418EPSS 0.7%
  • urllib3 streaming API improperly handles highly compressed data
    grypeCVE-2025-66471EPSS 0.7%
  • urllib3: Sensitive headers forwarded across origins in proxied low-level redirects
    grypeCVE-2026-44431EPSS 0.3%
  • Image user should not be 'root'
    Running containers with 'root' user can lead to a container escape situation. It is a best practice to run containers as non-root users, which can be done by adding a 'USER' statement to the Dockerfile.
    trivyDockerfile:0
  • mako: Mako: Information disclosure via directory traversal
    Mako is a template library written in Python. Prior to 1.3.12, on Windows, a URI using backslash traversal (e.g. \..\..\ secret.txt) bypasses the directory traversal check in Template.__init__ and the posixpath-based normalization in TemplateLookup.get_template(), allowing reads …
    trivyCVE-2026-44307
  • mako: Mako: Information disclosure via path traversal vulnerability
    Mako is a template library written in Python. Prior to 1.3.11, TemplateLookup.get_template() is vulnerable to path traversal when a URI starts with // (e.g., //../../../secret.txt). The root cause is an inconsistency between two slash-stripping implementations. Any file readable …
    trivyCVE-2026-41205
  • urllib3: urllib3 Streaming API improperly handles highly compressed data
    urllib3 is a user-friendly HTTP client library for Python. Starting in version 1.0 and prior to 2.6.0, the Streaming API improperly handles highly compressed data. urllib3's streaming API is designed for the efficient handling of large HTTP responses by reading the content in chu…
    trivyCVE-2025-66471
  • urllib3: urllib3 vulnerable to decompression-bomb safeguard bypass when following HTTP redirects (streaming API)
    urllib3 is an HTTP client library for Python. urllib3's streaming API is designed for the efficient handling of large HTTP responses by reading the content in chunks, rather than loading the entire response body into memory at once. urllib3 can perform decoding or decompression b…
    trivyCVE-2026-21441
  • urllib3: urllib3: Information disclosure via cross-origin redirects forwarding sensitive headers
    urllib3 is an HTTP client library for Python. From 1.23 to before 2.7.0, cross-origin redirects followed from the low-level API via ProxyManager.connection_from_url().urlopen(..., assert_same_host=False) still forward these sensitive headers. This vulnerability is fixed in 2.7.0.
    trivyCVE-2026-44431
  • urllib3: urllib3: Unbounded decompression chain leads to resource exhaustion
    urllib3 is a user-friendly HTTP client library for Python. Starting in version 1.24 and prior to 2.6.0, the number of links in the decompression chain was unbounded allowing a malicious server to insert a virtually unlimited number of compression steps leading to high CPU usage a…
    trivyCVE-2025-66418
  • Base64 High Entropy String
    Base64 High Entropy String on 845fa28a5bf5d82cfa91a00ef9cf6cca8aef00db
    checkovtests/config/testconfig.json:5
  • Base64 High Entropy String
    Base64 High Entropy String on a02607b8713c9d22aaf021ab214543925b960d66
    checkovtests/config/testconfig.json:9
  • Base64 High Entropy String
    Base64 High Entropy String on 11fa7c37d697f30e6aee828b4426a10f83ab2380
    checkovexample-config.json:16
  • Ensure that 'chpasswd' is not used to set or remove passwords
    Ensure that 'chpasswd' is not used to set or remove passwords on /Dockerfile.RUN
    checkovDockerfile:50
  • Ensure that a user for the container has been created
    Ensure that a user for the container has been created on /Dockerfile.
    checkovDockerfile:1
  • Ensure that COPY is used instead of ADD in Dockerfiles
    Ensure that COPY is used instead of ADD in Dockerfiles on /Dockerfile.ADD
    checkovDockerfile:26
  • Ensure that HEALTHCHECK instructions have been added to container images
    Ensure that HEALTHCHECK instructions have been added to container images on /Dockerfile.
    checkovDockerfile:1
  • Ensure that sudo isn't used
    Ensure that sudo isn't used on /Dockerfile.RUN
    checkovDockerfile:50
  • Ensure top-level permissions are not set to write-all
    Ensure top-level permissions are not set to write-all on on(Run unit tests)
    checkov.github/workflows/ci.yml:0
  • The build output cannot be affected by user parameters other than the build entry point and the top-level source location. GitHub Actions workflow_dispatch inputs MUST be empty.
    The build output cannot be affected by user parameters other than the build entry point and the top-level source location. GitHub Actions workflow_dispatch inputs MUST be empty. on on(Staging Cloud Build and Deploy)
    checkov.github/workflows/cloud-staging-build.yaml:6
  • Internationalized Domain Names in Applications (IDNA): Specially crafted inputs to idna.encode() can bypass CVE-2024-3651 fix
    grypeCVE-2026-45409EPSS 0.4%
  • Jinja has a sandbox breakout through indirect reference to format method
    grypeCVE-2024-56326EPSS 0.5%
  • Jinja has a sandbox breakout through malicious filenames
    grypeCVE-2024-56201EPSS 0.3%
  • Jinja2 vulnerable to sandbox breakout through attr filter selecting format method
    grypeCVE-2025-27516EPSS 0.5%
  • python-dotenv: Symlink following in set_key allows arbitrary file overwrite via cross-device rename fallback
    grypeCVE-2026-28684EPSS 0.3%
  • Requests has Insecure Temp File Reuse in its extract_zipped_paths() utility function
    grypeCVE-2026-25645EPSS 0.2%
  • Requests vulnerable to .netrc credentials leak via malicious URLs
    grypeCVE-2024-47081EPSS 0.9%
  • urllib3 does not control redirects in browsers and Node.js
    grypeCVE-2025-50182EPSS 0.3%
  • urllib3 redirects are not disabled when retries are disabled on PoolManager instantiation
    grypeCVE-2025-50181EPSS 0.4%
  • Decompression-bomb safeguards bypassed when following HTTP redirects (streaming API)
    ### Impact urllib3's [streaming API](https://urllib3.readthedocs.io/en/2.6.2/advanced-usage.html#streaming-and-i-o) is designed for the efficient handling of large HTTP responses by reading the content in chunks, rather than loading the entire response body into memory at once. …
    osv-scannerCVE-2026-21441
  • Decompression-bomb safeguards bypassed when following HTTP redirects (streaming API)
    ### Impact urllib3's [streaming API](https://urllib3.readthedocs.io/en/2.6.2/advanced-usage.html#streaming-and-i-o) is designed for the efficient handling of large HTTP responses by reading the content in chunks, rather than loading the entire response body into memory at once. …
    osv-scannerCVE-2026-21441
  • h11 accepts some malformed Chunked-Encoding bodies
    ### Impact A leniency in h11's parsing of line terminators in chunked-coding message bodies can lead to request smuggling vulnerabilities under certain conditions. ### Details HTTP/1.1 Chunked-Encoding bodies are formatted as a sequence of "chunks", each of which consists of:…
    osv-scannerCVE-2025-43859
  • h11 accepts some malformed Chunked-Encoding bodies
    ### Impact A leniency in h11's parsing of line terminators in chunked-coding message bodies can lead to request smuggling vulnerabilities under certain conditions. ### Details HTTP/1.1 Chunked-Encoding bodies are formatted as a sequence of "chunks", each of which consists of: …
    osv-scannerCVE-2025-43859
  • Internationalized Domain Names in Applications (IDNA): Specially crafted inputs to idna.encode() can bypass CVE-2024-3651 fix
    This is the same issue as CVE-2024-3651, however the original remediation in 2024 was not a complete fix. Payloads such as `"\u0660" * N` or `"\u30fb" * N + "\u6f22"` utilize the `valid_contexto` function prior to length rejection, and for high values of `N` will take a long time…
    osv-scannerCVE-2026-45409
  • Jinja has a sandbox breakout through indirect reference to format method
    An oversight in how the Jinja sandboxed environment detects calls to `str.format` allows an attacker that controls the content of a template to execute arbitrary Python code. To exploit the vulnerability, an attacker needs to control the content of a template. Whether that is th…
    osv-scannerCVE-2024-56326
  • Jinja has a sandbox breakout through indirect reference to format method
    An oversight in how the Jinja sandboxed environment detects calls to `str.format` allows an attacker that controls the content of a template to execute arbitrary Python code. To exploit the vulnerability, an attacker needs to control the content of a template. Whether that is th…
    osv-scannerCVE-2024-56326
  • Jinja has a sandbox breakout through malicious filenames
    A bug in the Jinja compiler allows an attacker that controls both the content and filename of a template to execute arbitrary Python code, regardless of if Jinja's sandbox is used. To exploit the vulnerability, an attacker needs to control both the filename and the contents of a…
    osv-scannerCVE-2024-56201
  • Jinja has a sandbox breakout through malicious filenames
    A bug in the Jinja compiler allows an attacker that controls both the content and filename of a template to execute arbitrary Python code, regardless of if Jinja's sandbox is used. To exploit the vulnerability, an attacker needs to control both the filename and the contents of a…
    osv-scannerCVE-2024-56201
  • Jinja2 vulnerable to sandbox breakout through attr filter selecting format method
    An oversight in how the Jinja sandboxed environment interacts with the `|attr` filter allows an attacker that controls the content of a template to execute arbitrary Python code. To exploit the vulnerability, an attacker needs to control the content of a template. Whether that i…
    osv-scannerCVE-2025-27516
  • Jinja2 vulnerable to sandbox breakout through attr filter selecting format method
    An oversight in how the Jinja sandboxed environment interacts with the `|attr` filter allows an attacker that controls the content of a template to execute arbitrary Python code. To exploit the vulnerability, an attacker needs to control the content of a template. Whether that i…
    osv-scannerCVE-2025-27516
  • Mako vulnerable to path traversal via backslash URI on Windows in TemplateLookup
    ## Summary On Windows, a URI using backslash traversal (e.g. `\..\..\ secret.txt`) bypasses the directory traversal check in `Template.__init__` and the `posixpath`-based normalization in `TemplateLookup.get_template()`, allowing reads of files outside the configured template di…
    osv-scannerCVE-2026-44307
  • Mako vulnerable to path traversal via backslash URI on Windows in TemplateLookup
    ## Summary On Windows, a URI using backslash traversal (e.g. `\..\..\ secret.txt`) bypasses the directory traversal check in `Template.__init__` and the `posixpath`-based normalization in `TemplateLookup.get_template()`, allowing reads of files outside the configured template di…
    osv-scannerCVE-2026-44307
  • Mako: Path traversal via double-slash URI prefix in TemplateLookup
    ### Summary `TemplateLookup.get_template()` is vulnerable to path traversal when a URI starts with `//` (e.g., `//../../../secret.txt`). The root cause is an inconsistency between two slash-stripping implementations: - `Template.__init__` strips **one** leading `/` using `if`/s…
    osv-scannerCVE-2026-41205
  • PYSEC-2026-141
    urllib3 is an HTTP client library for Python. From 1.23 to before 2.7.0, cross-origin redirects followed from the low-level API via ProxyManager.connection_from_url().urlopen(..., assert_same_host=False) still forward these sensitive headers. This vulnerability is fixed in 2.7.0.
    osv-scannerCVE-2026-44431
  • PYSEC-2026-215
    Internationalized Domain Names in Applications (IDNA) for Python provides support for Internationalized Domain Names in Applications (IDNA) and Unicode IDNA Compatibility Processing. In versions prior to 3.15, payloads such as `"\u0660" * N` or `"\u30fb" * N + "\u6f22"` utilize t…
    osv-scannerCVE-2026-45409
  • PYSEC-2026-2270
    python-dotenv reads key-value pairs from a .env file and can set them as environment variables. Prior to version 1.2.2, `set_key()` and `unset_key()` in python-dotenv follow symbolic links when rewriting `.env` files, allowing a local attacker to overwrite arbitrary files via a c…
    osv-scannerCVE-2026-28684
  • PYSEC-2026-2275
    Requests is a HTTP library. Prior to version 2.33.0, the `requests.utils.extract_zipped_paths()` utility function uses a predictable filename when extracting files from zip archives into the system temporary directory. If the target file already exists, it is reused without valid…
    osv-scannerCVE-2026-25645
  • PYSEC-2026-88
    Mako is a template library written in Python. Prior to 1.3.11, TemplateLookup.get_template() is vulnerable to path traversal when a URI starts with // (e.g., //../../../secret.txt). The root cause is an inconsistency between two slash-stripping implementations. Any file readable …
    osv-scannerCVE-2026-41205
  • python-dotenv: Symlink following in set_key allows arbitrary file overwrite via cross-device rename fallback
    ### Summary `set_key()` and `unset_key()` in python-dotenv follow symbolic links when rewriting `.env` files, allowing a local attacker to overwrite arbitrary files via a crafted symlink when a cross-device rename fallback is triggered. ### Details The `rewrite()` context man…
    osv-scannerCVE-2026-28684
  • Requests has Insecure Temp File Reuse in its extract_zipped_paths() utility function
    ### Impact The `requests.utils.extract_zipped_paths()` utility function uses a predictable filename when extracting files from zip archives into the system temporary directory. If the target file already exists, it is reused without validation. A local attacker with write access …
    osv-scannerCVE-2026-25645
  • Requests vulnerable to .netrc credentials leak via malicious URLs
    ### Impact Due to a URL parsing issue, Requests releases prior to 2.32.4 may leak .netrc credentials to third parties for specific maliciously-crafted URLs. ### Workarounds For older versions of Requests, use of the .netrc file can be disabled with `trust_env=False` on your Req…
    osv-scannerCVE-2024-47081
  • Requests vulnerable to .netrc credentials leak via malicious URLs
    ### Impact Due to a URL parsing issue, Requests releases prior to 2.32.4 may leak .netrc credentials to third parties for specific maliciously-crafted URLs. ### Workarounds For older versions of Requests, use of the .netrc file can be disabled with `trust_env=False` on your Req…
    osv-scannerCVE-2024-47081
  • urllib3 allows an unbounded number of links in the decompression chain
    ## Impact urllib3 supports chained HTTP encoding algorithms for response content according to RFC 9110 (e.g., `Content-Encoding: gzip, zstd`). However, the number of links in the decompression chain was unbounded allowing a malicious server to insert a virtually unlimited numbe…
    osv-scannerCVE-2025-66418
  • urllib3 allows an unbounded number of links in the decompression chain
    ## Impact urllib3 supports chained HTTP encoding algorithms for response content according to RFC 9110 (e.g., `Content-Encoding: gzip, zstd`). However, the number of links in the decompression chain was unbounded allowing a malicious server to insert a virtually unlimited numbe…
    osv-scannerCVE-2025-66418
  • urllib3 does not control redirects in browsers and Node.js
    urllib3 [supports](https://urllib3.readthedocs.io/en/2.4.0/reference/contrib/emscripten.html) being used in a Pyodide runtime utilizing the [JavaScript Fetch API](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) or falling back on [XMLHttpRequest](https://developer.moz…
    osv-scannerCVE-2025-50182
  • urllib3 does not control redirects in browsers and Node.js
    urllib3 [supports](https://urllib3.readthedocs.io/en/2.4.0/reference/contrib/emscripten.html) being used in a Pyodide runtime utilizing the [JavaScript Fetch API](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) or falling back on [XMLHttpRequest](https://developer.moz…
    osv-scannerCVE-2025-50182
  • urllib3 redirects are not disabled when retries are disabled on PoolManager instantiation
    urllib3 handles redirects and retries using the same mechanism, which is controlled by the `Retry` object. The most common way to disable redirects is at the request level, as follows: ```python resp = urllib3.request("GET", "https://httpbin.org/redirect/1", redirect=False) prin…
    osv-scannerCVE-2025-50181
  • urllib3 redirects are not disabled when retries are disabled on PoolManager instantiation
    urllib3 handles redirects and retries using the same mechanism, which is controlled by the `Retry` object. The most common way to disable redirects is at the request level, as follows: ```python resp = urllib3.request("GET", "https://httpbin.org/redirect/1", redirect=False) prin…
    osv-scannerCVE-2025-50181
  • urllib3 streaming API improperly handles highly compressed data
    ### Impact urllib3's [streaming API](https://urllib3.readthedocs.io/en/2.5.0/advanced-usage.html#streaming-and-i-o) is designed for the efficient handling of large HTTP responses by reading the content in chunks, rather than loading the entire response body into memory at once. …
    osv-scannerCVE-2025-66471
  • urllib3 streaming API improperly handles highly compressed data
    ### Impact urllib3's [streaming API](https://urllib3.readthedocs.io/en/2.5.0/advanced-usage.html#streaming-and-i-o) is designed for the efficient handling of large HTTP responses by reading the content in chunks, rather than loading the entire response body into memory at once. …
    osv-scannerCVE-2025-66471
  • urllib3: Sensitive headers forwarded across origins in proxied low-level redirects
    ### Impact When following cross-origin redirects for requests made using urllib3’s high-level APIs, such as `urllib3.request()`, `PoolManager.request()`, and `ProxyManager.request()`, sensitive headers — `Authorization`, `Cookie`, and `Proxy-Authorization` (defined in `Retry.DEF…
    osv-scannerCVE-2026-44431
  • hashlib.md5/sha1 is broken for security use. Use sha256+ or a password KDF (bcrypt/scrypt/argon2). (Apache-2.0.)
    hashlib.md5/sha1 is broken for security use. Use sha256+ or a password KDF (bcrypt/scrypt/argon2). (Apache-2.0.)
    semgrepcore/disk/vfs.py:85
  • Possible hardcoded secret assigned to a credential-like variable. Move it to a secret store / env var. (First-party socbox rule; Apache-2.0.)
    Possible hardcoded secret assigned to a credential-like variable. Move it to a secret store / env var. (First-party socbox rule; Apache-2.0.)
    semgrepcore/llm/openai_client.py:83
  • Possible hardcoded secret assigned to a credential-like variable. Move it to a secret store / env var. (First-party socbox rule; Apache-2.0.)
    Possible hardcoded secret assigned to a credential-like variable. Move it to a secret store / env var. (First-party socbox rule; Apache-2.0.)
    semgrepcore/templates/tree/node_express_mongoose/models/User.js:14
  • jinja2: Jinja has a sandbox breakout through indirect reference to format method
    Jinja is an extensible templating engine. Prior to 3.1.5, An oversight in how the Jinja sandboxed environment detects calls to str.format allows an attacker that controls the content of a template to execute arbitrary Python code. To exploit the vulnerability, an attacker needs t…
    trivyCVE-2024-56326
  • jinja2: Jinja has a sandbox breakout through malicious filenames
    Jinja is an extensible templating engine. In versions on the 3.x branch prior to 3.1.5, a bug in the Jinja compiler allows an attacker that controls both the content and filename of a template to execute arbitrary Python code, regardless of if Jinja's sandbox is used. To exploit …
    trivyCVE-2024-56201
  • jinja2: Jinja sandbox breakout through attr filter selecting format method
    Jinja is an extensible templating engine. Prior to 3.1.6, an oversight in how the Jinja sandboxed environment interacts with the |attr filter allows an attacker that controls the content of a template to execute arbitrary Python code. To exploit the vulnerability, an attacker nee…
    trivyCVE-2025-27516
  • python-dotenv: python-dotenv: Arbitrary file overwrite via symbolic link following
    python-dotenv reads key-value pairs from a .env file and can set them as environment variables. Prior to version 1.2.2, `set_key()` and `unset_key()` in python-dotenv follow symbolic links when rewriting `.env` files, allowing a local attacker to overwrite arbitrary files via a c…
    trivyCVE-2026-28684
  • python-idna: idna: Denial of Service via specially crafted long inputs
    Internationalized Domain Names in Applications (IDNA) for Python provides support for Internationalized Domain Names in Applications (IDNA) and Unicode IDNA Compatibility Processing. In versions prior to 3.15, payloads such as `"\u0660" * N` or `"\u30fb" * N + "\u6f22"` utilize t…
    trivyCVE-2026-45409
  • requests: Requests vulnerable to .netrc credentials leak via malicious URLs
    Requests is a HTTP library. Due to a URL parsing issue, Requests releases prior to 2.32.4 may leak .netrc credentials to third parties for specific maliciously-crafted URLs. Users should upgrade to version 2.32.4 to receive a fix. For older versions of Requests, use of the .netrc…
    trivyCVE-2024-47081
  • requests: Requests: Security bypass due to predictable temporary file creation
    Requests is a HTTP library. Prior to version 2.33.0, the `requests.utils.extract_zipped_paths()` utility function uses a predictable filename when extracting files from zip archives into the system temporary directory. If the target file already exists, it is reused without valid…
    trivyCVE-2026-25645
  • urllib3: urllib3 does not control redirects in browsers and Node.js
    urllib3 is a user-friendly HTTP client library for Python. Starting in version 2.2.0 and prior to 2.5.0, urllib3 does not control redirects in browsers and Node.js. urllib3 supports being used in a Pyodide runtime utilizing the JavaScript Fetch API or falling back on XMLHttpReque…
    trivyCVE-2025-50182
  • urllib3: urllib3 redirects are not disabled when retries are disabled on PoolManager instantiation
    urllib3 is a user-friendly HTTP client library for Python. Prior to 2.5.0, it is possible to disable redirects for all requests by instantiating a PoolManager and specifying retries in a way that disable redirects. By default, requests and botocore users are not affected. An appl…
    trivyCVE-2025-50181

This report is public.