github.com/Pythagora-io/gpt-pilot
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 bodiesgrypeCVE-2025-43859EPSS 0.6%
- h11: h11 accepts some malformed Chunked-Encoding bodiesh11 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 TemplateLookupgrypeCVE-2026-44307EPSS 0.6%
- Mako: Path traversal via double-slash URI prefix in TemplateLookupgrypeCVE-2026-41205EPSS 0.4%
- urllib3 allows an unbounded number of links in the decompression chaingrypeCVE-2025-66418EPSS 0.7%
- urllib3 streaming API improperly handles highly compressed datagrypeCVE-2025-66471EPSS 0.7%
- urllib3: Sensitive headers forwarded across origins in proxied low-level redirectsgrypeCVE-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 traversalMako 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 vulnerabilityMako 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 dataurllib3 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 headersurllib3 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 exhaustionurllib3 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 StringBase64 High Entropy String on 845fa28a5bf5d82cfa91a00ef9cf6cca8aef00dbcheckovtests/config/testconfig.json:5
- Base64 High Entropy StringBase64 High Entropy String on a02607b8713c9d22aaf021ab214543925b960d66checkovtests/config/testconfig.json:9
- Base64 High Entropy StringBase64 High Entropy String on 11fa7c37d697f30e6aee828b4426a10f83ab2380checkovexample-config.json:16
- Ensure that 'chpasswd' is not used to set or remove passwordsEnsure that 'chpasswd' is not used to set or remove passwords on /Dockerfile.RUNcheckovDockerfile:50
- Ensure that a user for the container has been createdEnsure that a user for the container has been created on /Dockerfile.checkovDockerfile:1
- Ensure that COPY is used instead of ADD in DockerfilesEnsure that COPY is used instead of ADD in Dockerfiles on /Dockerfile.ADDcheckovDockerfile:26
- Ensure that HEALTHCHECK instructions have been added to container imagesEnsure that HEALTHCHECK instructions have been added to container images on /Dockerfile.checkovDockerfile:1
- Ensure that sudo isn't usedEnsure that sudo isn't used on /Dockerfile.RUNcheckovDockerfile:50
- Ensure top-level permissions are not set to write-allEnsure 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 fixgrypeCVE-2026-45409EPSS 0.4%
- Jinja has a sandbox breakout through indirect reference to format methodgrypeCVE-2024-56326EPSS 0.5%
- Jinja has a sandbox breakout through malicious filenamesgrypeCVE-2024-56201EPSS 0.3%
- Jinja2 vulnerable to sandbox breakout through attr filter selecting format methodgrypeCVE-2025-27516EPSS 0.5%
- python-dotenv: Symlink following in set_key allows arbitrary file overwrite via cross-device rename fallbackgrypeCVE-2026-28684EPSS 0.3%
- Requests has Insecure Temp File Reuse in its extract_zipped_paths() utility functiongrypeCVE-2026-25645EPSS 0.2%
- Requests vulnerable to .netrc credentials leak via malicious URLsgrypeCVE-2024-47081EPSS 0.9%
- urllib3 does not control redirects in browsers and Node.jsgrypeCVE-2025-50182EPSS 0.3%
- urllib3 redirects are not disabled when retries are disabled on PoolManager instantiationgrypeCVE-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 fixThis 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 methodAn 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 methodAn 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 filenamesA 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 filenamesA 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 methodAn 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 methodAn 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-141urllib3 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-215Internationalized 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-2270python-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-2275Requests 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-88Mako 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.jsurllib3 [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.jsurllib3 [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 instantiationurllib3 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 instantiationurllib3 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 methodJinja 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 filenamesJinja 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 methodJinja 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 followingpython-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 inputsInternationalized 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 URLsRequests 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 creationRequests 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.jsurllib3 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 instantiationurllib3 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.