GCVE Workshop - 22 September 2026 (14:00-18:00), Luxembourg Before The Vulnopticon Conference - Registration
Search

Find a vulnerability

Search criteria Use this form to refine search results.
Full-text search supports keyword queries with ranking and filtering.
You can combine vendor, product, and sources to narrow results.
Enable “Apply ordering” to sort by date instead of relevance.

    8 vulnerabilities found for NGINX JavaScript by F5

    CVE-2026-78689 (GCVE-0-2026-78689)

    Vulnerability from nvd – Published: 2026-09-02 15:40 – Updated: 2026-09-03 03:56
    VLAI
    Title
    NGINX ngx_http_js_module vulnerablility
    Summary
    Description NGINX JavaScript (njs) has a vulnerability in the XML module's namespace prefix list parser, reachable through the xml.exclusiveC14n() method. An unauthenticated remote attacker can trigger it when an affected NGINX configuration passes an externally controlled XML namespace prefix list to that method. Both the njs and the QuickJS (qjs) engines are affected. A crafted prefix list causes an out-of-bounds write past the end of a heap allocation. With the njs engine, which is the engine used when the js_engine directive is absent, this corrupts adjacent objects and crashes the NGINX worker. With the QuickJS engine, the same call additionally leaks the prefix list on every invocation, causing worker memory to grow across requests. The official nginxinc/nginx-saml reference implementation is affected during SAML signature verification. It reads InclusiveNamespaces/@PrefixList from an untrusted SAML message and passes it to xml.exclusiveC14n() before the signature has been verified, so a valid SAML signature is not required. A crafted SAML Response, Assertion, LogoutRequest, or LogoutResponse is sufficient. Code execution has not been demonstrated and cannot be ruled out for all platforms, as the effect of the out-of-bounds write depends on conditions beyond the attacker's control.   Impact This vulnerability allows remote attackers to cause a denial of service on the NGINX system, either through repeatable worker restarts or through worker memory growth or possibly trigger code execution. There is no control plane exposure; this is a data plane issue only. Note: Software versions which have reached End of Technical Support (EoTS) are not evaluated.
    SSVC
    Exploitation: none Automatable: no Technical Impact: total
    CISA Coordinator · CISA-ADP (v2.0.3)
    Decision recorded 2026-09-02 00:00 UTC
    CWE
    Assigner
    References
    Impacted products
    Vendor Product Version
    F5 NGINX JavaScript Affected: 0.7.10 , < 1.0.1 (custom)
    Create a notification for this product.
    Date Public
    2023-01-01 00:00
    Show details on NVD website

    {
      "containers": {
        "adp": [
          {
            "metrics": [
              {
                "other": {
                  "content": {
                    "id": "CVE-2026-78689",
                    "options": [
                      {
                        "Exploitation": "none"
                      },
                      {
                        "Automatable": "no"
                      },
                      {
                        "Technical Impact": "total"
                      }
                    ],
                    "role": "CISA Coordinator",
                    "timestamp": "2026-09-02T00:00:00+00:00",
                    "version": "2.0.3"
                  },
                  "type": "ssvc"
                }
              }
            ],
            "providerMetadata": {
              "dateUpdated": "2026-09-03T03:56:39.199Z",
              "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
              "shortName": "CISA-ADP"
            },
            "title": "CISA ADP Vulnrichment"
          }
        ],
        "cna": {
          "affected": [
            {
              "defaultStatus": "unknown",
              "modules": [
                "ngx_http_js_module"
              ],
              "product": "NGINX JavaScript",
              "vendor": "F5",
              "versions": [
                {
                  "lessThan": "1.0.1",
                  "status": "affected",
                  "version": "0.7.10",
                  "versionType": "custom"
                }
              ]
            }
          ],
          "credits": [
            {
              "lang": "en",
              "type": "finder",
              "value": "F5 acknowledges Vladimir Tokarev of Cyera and Sujal Tuladhar (EvilGenius) for bringing this issue to our attention and following the highest standards of coordinated disclosure."
            }
          ],
          "datePublic": "2023-01-01T00:00:00.000Z",
          "descriptions": [
            {
              "lang": "en",
              "supportingMedia": [
                {
                  "base64": false,
                  "type": "text/html",
                  "value": "Description\u003cbr\u003e\n\n\u003cdiv\u003eNGINX JavaScript (njs) has a vulnerability in the XML module\u0027s namespace prefix list parser, reachable through the xml.exclusiveC14n() method. An unauthenticated remote attacker can trigger it when an affected NGINX configuration passes an externally controlled XML namespace prefix list to that method. Both the njs and the QuickJS (qjs) engines are affected. A crafted prefix list causes an out-of-bounds write past the end of a heap allocation. With the njs engine, which is the engine used when the js_engine directive is absent, this corrupts adjacent objects and crashes the NGINX worker. With the QuickJS engine, the same call additionally leaks the prefix list on every invocation, causing worker memory to grow across requests. The official nginxinc/nginx-saml reference implementation is affected during SAML signature verification. It reads InclusiveNamespaces/@PrefixList from an untrusted SAML message and passes it to xml.exclusiveC14n() before the signature has been verified, so a valid SAML signature is not required. A crafted SAML Response, Assertion, LogoutRequest, or LogoutResponse is sufficient. Code execution has not been demonstrated and cannot be ruled out for all platforms, as the effect of the out-of-bounds write depends on conditions beyond the attacker\u0027s control. \u0026nbsp;\u003c/div\u003e\u003cdiv\u003e\u003cdiv\u003e\u003c/div\u003e\u003c/div\u003e\n\n\u003cbr\u003e Impact\u003cbr\u003e\n\nThis vulnerability allows remote attackers to cause a denial of service on the NGINX system, either through repeatable worker restarts or through worker memory growth or possibly trigger code execution. There is no control plane exposure; this is a data plane issue only.\n\n\u003cbr\u003e\u003cbr\u003e\n\n\nNote: Software versions which have reached End of Technical Support (EoTS) are not evaluated."
                }
              ],
              "value": "Description\n\n\nNGINX JavaScript (njs) has a vulnerability in the XML module\u0027s namespace prefix list parser, reachable through the xml.exclusiveC14n() method. An unauthenticated remote attacker can trigger it when an affected NGINX configuration passes an externally controlled XML namespace prefix list to that method. Both the njs and the QuickJS (qjs) engines are affected. A crafted prefix list causes an out-of-bounds write past the end of a heap allocation. With the njs engine, which is the engine used when the js_engine directive is absent, this corrupts adjacent objects and crashes the NGINX worker. With the QuickJS engine, the same call additionally leaks the prefix list on every invocation, causing worker memory to grow across requests. The official nginxinc/nginx-saml reference implementation is affected during SAML signature verification. It reads InclusiveNamespaces/@PrefixList from an untrusted SAML message and passes it to xml.exclusiveC14n() before the signature has been verified, so a valid SAML signature is not required. A crafted SAML Response, Assertion, LogoutRequest, or LogoutResponse is sufficient. Code execution has not been demonstrated and cannot be ruled out for all platforms, as the effect of the out-of-bounds write depends on conditions beyond the attacker\u0027s control. \u00a0\n\n\n\n\n\n\n\n\n Impact\n\n\nThis vulnerability allows remote attackers to cause a denial of service on the NGINX system, either through repeatable worker restarts or through worker memory growth or possibly trigger code execution. There is no control plane exposure; this is a data plane issue only.\n\n\n\n\n\n\nNote: Software versions which have reached End of Technical Support (EoTS) are not evaluated."
            }
          ],
          "metrics": [
            {
              "cvssV3_1": {
                "attackComplexity": "HIGH",
                "attackVector": "NETWORK",
                "availabilityImpact": "HIGH",
                "baseScore": 8.1,
                "baseSeverity": "HIGH",
                "confidentialityImpact": "HIGH",
                "integrityImpact": "HIGH",
                "privilegesRequired": "NONE",
                "scope": "UNCHANGED",
                "userInteraction": "NONE",
                "vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H",
                "version": "3.1"
              },
              "format": "CVSS",
              "scenarios": [
                {
                  "lang": "en",
                  "value": "GENERAL"
                }
              ]
            },
            {
              "cvssV4_0": {
                "Automatable": "NOT_DEFINED",
                "Recovery": "NOT_DEFINED",
                "Safety": "NOT_DEFINED",
                "attackComplexity": "LOW",
                "attackRequirements": "PRESENT",
                "attackVector": "NETWORK",
                "baseScore": 9.2,
                "baseSeverity": "CRITICAL",
                "privilegesRequired": "NONE",
                "providerUrgency": "NOT_DEFINED",
                "subAvailabilityImpact": "NONE",
                "subConfidentialityImpact": "NONE",
                "subIntegrityImpact": "NONE",
                "userInteraction": "NONE",
                "valueDensity": "NOT_DEFINED",
                "vectorString": "CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N",
                "version": "4.0",
                "vulnAvailabilityImpact": "HIGH",
                "vulnConfidentialityImpact": "HIGH",
                "vulnIntegrityImpact": "HIGH",
                "vulnerabilityResponseEffort": "NOT_DEFINED"
              },
              "format": "CVSS",
              "scenarios": [
                {
                  "lang": "en",
                  "value": "GENERAL"
                }
              ]
            }
          ],
          "problemTypes": [
            {
              "descriptions": [
                {
                  "cweId": "CWE-122",
                  "description": "CWE-122",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-09-02T15:40:55.118Z",
            "orgId": "9dacffd4-cb11-413f-8451-fbbfd4ddc0ab",
            "shortName": "f5"
          },
          "references": [
            {
              "tags": [
                "vendor-advisory"
              ],
              "url": "https://my.f5.com/manage/s/article/K000162602"
            }
          ],
          "source": {
            "discovery": "EXTERNAL"
          },
          "title": "NGINX ngx_http_js_module vulnerablility",
          "workarounds": [
            {
              "lang": "en",
              "supportingMedia": [
                {
                  "base64": false,
                  "type": "text/html",
                  "value": "None"
                }
              ],
              "value": "None"
            }
          ],
          "x_generator": {
            "engine": "F5 SIRTBot v1.0"
          }
        }
      },
      "cveMetadata": {
        "assignerOrgId": "9dacffd4-cb11-413f-8451-fbbfd4ddc0ab",
        "assignerShortName": "f5",
        "cveId": "CVE-2026-78689",
        "datePublished": "2026-09-02T15:40:55.118Z",
        "dateReserved": "2026-08-25T23:21:14.550Z",
        "dateUpdated": "2026-09-03T03:56:39.199Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }

    CVE-2026-78222 (GCVE-0-2026-78222)

    Vulnerability from nvd – Published: 2026-09-02 15:40 – Updated: 2026-09-02 17:59
    VLAI
    Title
    NGINX ngx_http_js_module vulnerability
    Summary
    A vulnerability exists in NGINX JavaScript where a malformed HTTP response received by ngx.fetch() can crash an NGINX worker when trusted JavaScript reads Response.statusText. Exploitation requires control or influence over the fetched HTTP response. Impact: This vulnerability may allow remote attackers to cause a denial-of-service (DoS) on the NGINX system. There is no control plane exposure; this is a data plane issue only. Note: Software versions which have reached End of Technical Support (EoTS) are not evaluated.
    SSVC
    Exploitation: none Automatable: yes Technical Impact: partial
    CISA Coordinator · CISA-ADP (v2.0.3)
    Decision recorded 2026-09-02 17:59 UTC
    CWE
    • CWE-476 - NULL Pointer Dereference
    Assigner
    References
    Impacted products
    Vendor Product Version
    F5 NGINX JavaScript Affected: 0.5.1 , < 1.0.1 (custom)
    Create a notification for this product.
    Date Public
    2026-09-02 14:00
    Show details on NVD website

    {
      "containers": {
        "adp": [
          {
            "metrics": [
              {
                "other": {
                  "content": {
                    "id": "CVE-2026-78222",
                    "options": [
                      {
                        "Exploitation": "none"
                      },
                      {
                        "Automatable": "yes"
                      },
                      {
                        "Technical Impact": "partial"
                      }
                    ],
                    "role": "CISA Coordinator",
                    "timestamp": "2026-09-02T17:59:30.733424Z",
                    "version": "2.0.3"
                  },
                  "type": "ssvc"
                }
              }
            ],
            "providerMetadata": {
              "dateUpdated": "2026-09-02T17:59:40.463Z",
              "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
              "shortName": "CISA-ADP"
            },
            "title": "CISA ADP Vulnrichment"
          }
        ],
        "cna": {
          "affected": [
            {
              "defaultStatus": "unknown",
              "modules": [
                "ngx_http_js_module"
              ],
              "product": "NGINX JavaScript",
              "vendor": "F5",
              "versions": [
                {
                  "lessThan": "1.0.1",
                  "status": "affected",
                  "version": "0.5.1",
                  "versionType": "custom"
                }
              ]
            }
          ],
          "credits": [
            {
              "lang": "en",
              "type": "reporter",
              "value": "F5 acknowledges Sujal Tuladhar (EvilGenius) and YuuLuo for bringing this issue to our attention and following the highest standards of coordinated disclosure."
            }
          ],
          "datePublic": "2026-09-02T14:00:00.000Z",
          "descriptions": [
            {
              "lang": "en",
              "supportingMedia": [
                {
                  "base64": false,
                  "type": "text/html",
                  "value": "A vulnerability exists in NGINX JavaScript where a malformed HTTP response received by ngx.fetch() can crash an NGINX worker when trusted JavaScript reads Response.statusText. Exploitation requires control or influence over the fetched HTTP response.\u003cbr\u003e\u003cbr\u003eImpact:\u003cbr\u003eThis vulnerability may allow remote attackers to cause a denial-of-service (DoS) on the NGINX system. There is no control plane exposure; this is a data plane issue only.\u003cbr\u003e\u003cbr\u003e\n\n\nNote: Software versions which have reached End of Technical Support (EoTS) are not evaluated."
                }
              ],
              "value": "A vulnerability exists in NGINX JavaScript where a malformed HTTP response received by ngx.fetch() can crash an NGINX worker when trusted JavaScript reads Response.statusText. Exploitation requires control or influence over the fetched HTTP response.\n\nImpact:\nThis vulnerability may allow remote attackers to cause a denial-of-service (DoS) on the NGINX system. There is no control plane exposure; this is a data plane issue only.\n\n\n\n\nNote: Software versions which have reached End of Technical Support (EoTS) are not evaluated."
            }
          ],
          "metrics": [
            {
              "cvssV3_1": {
                "attackComplexity": "LOW",
                "attackVector": "NETWORK",
                "availabilityImpact": "HIGH",
                "baseScore": 7.5,
                "baseSeverity": "HIGH",
                "confidentialityImpact": "NONE",
                "integrityImpact": "NONE",
                "privilegesRequired": "NONE",
                "scope": "UNCHANGED",
                "userInteraction": "NONE",
                "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H",
                "version": "3.1"
              },
              "format": "CVSS",
              "scenarios": [
                {
                  "lang": "en",
                  "value": "GENERAL"
                }
              ]
            },
            {
              "cvssV4_0": {
                "Automatable": "NOT_DEFINED",
                "Recovery": "NOT_DEFINED",
                "Safety": "NOT_DEFINED",
                "attackComplexity": "LOW",
                "attackRequirements": "NONE",
                "attackVector": "NETWORK",
                "baseScore": 8.7,
                "baseSeverity": "HIGH",
                "privilegesRequired": "NONE",
                "providerUrgency": "NOT_DEFINED",
                "subAvailabilityImpact": "NONE",
                "subConfidentialityImpact": "NONE",
                "subIntegrityImpact": "NONE",
                "userInteraction": "NONE",
                "valueDensity": "NOT_DEFINED",
                "vectorString": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N",
                "version": "4.0",
                "vulnAvailabilityImpact": "HIGH",
                "vulnConfidentialityImpact": "NONE",
                "vulnIntegrityImpact": "NONE",
                "vulnerabilityResponseEffort": "NOT_DEFINED"
              },
              "format": "CVSS",
              "scenarios": [
                {
                  "lang": "en",
                  "value": "GENERAL"
                }
              ]
            }
          ],
          "problemTypes": [
            {
              "descriptions": [
                {
                  "cweId": "CWE-476",
                  "description": "CWE-476 NULL Pointer Dereference",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-09-02T15:40:55.467Z",
            "orgId": "9dacffd4-cb11-413f-8451-fbbfd4ddc0ab",
            "shortName": "f5"
          },
          "references": [
            {
              "tags": [
                "vendor-advisory"
              ],
              "url": "https://my.f5.com/manage/s/article/K000162603"
            }
          ],
          "source": {
            "discovery": "EXTERNAL"
          },
          "title": "NGINX ngx_http_js_module vulnerability",
          "workarounds": [
            {
              "lang": "en",
              "supportingMedia": [
                {
                  "base64": false,
                  "type": "text/html",
                  "value": "Restrict ngx.fetch() destinations to trusted servers and avoid reading Response.statusText for responses from attacker-controlled or attacker-influenced endpoints. \u003cbr\u003eUsing HTTPS with certificate verification reduces exposure to network-based response manipulation but does not protect against a malicious or compromised fetched server\u003cbr\u003e"
                }
              ],
              "value": "Restrict ngx.fetch() destinations to trusted servers and avoid reading Response.statusText for responses from attacker-controlled or attacker-influenced endpoints. \nUsing HTTPS with certificate verification reduces exposure to network-based response manipulation but does not protect against a malicious or compromised fetched server"
            }
          ],
          "x_generator": {
            "engine": "F5 SIRTBot v1.0"
          }
        }
      },
      "cveMetadata": {
        "assignerOrgId": "9dacffd4-cb11-413f-8451-fbbfd4ddc0ab",
        "assignerShortName": "f5",
        "cveId": "CVE-2026-78222",
        "datePublished": "2026-09-02T15:40:55.467Z",
        "dateReserved": "2026-08-25T23:21:14.556Z",
        "dateUpdated": "2026-09-02T17:59:40.463Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }

    CVE-2026-18329 (GCVE-0-2026-18329)

    Vulnerability from nvd – Published: 2026-09-02 15:40 – Updated: 2026-09-02 17:56
    VLAI
    Title
    NGINX ngx_http_js_module vulnerability
    Summary
    Description NGINX JavaScript (njs) and QuickJS (qjs) engines have a vulnerability when a js_access handler performs asynchronous request body processing and an exception is thrown during asynchronous access-control evaluation before an explicit access denial is returned. An unauthenticated attacker can exploit this vulnerability by sending a crafted HTTP request that triggers an error condition in the access validation logic. This may cause the js_access phase to fail open, allowing the request to proceed instead of being denied, resulting in an authentication or authorization bypass and unauthorized access to protected resources. Impact This vulnerability may allow remote attackers to bypass js_access controls. There is no control plane exposure; this is a data plane issue only. Note: Software versions which have reached End of Technical Support (EoTS) are not evaluated.
    SSVC
    Exploitation: none Automatable: yes Technical Impact: partial
    CISA Coordinator · CISA-ADP (v2.0.3)
    Decision recorded 2026-09-02 17:56 UTC
    CWE
    Assigner
    References
    Impacted products
    Vendor Product Version
    F5 NGINX JavaScript Affected: 1.0.0 , < 1.0.1 (custom)
    Affected: 0.9.9 , < * (custom)
    Create a notification for this product.
    Date Public
    2026-08-19 14:00
    Show details on NVD website

    {
      "containers": {
        "adp": [
          {
            "metrics": [
              {
                "other": {
                  "content": {
                    "id": "CVE-2026-18329",
                    "options": [
                      {
                        "Exploitation": "none"
                      },
                      {
                        "Automatable": "yes"
                      },
                      {
                        "Technical Impact": "partial"
                      }
                    ],
                    "role": "CISA Coordinator",
                    "timestamp": "2026-09-02T17:56:50.319435Z",
                    "version": "2.0.3"
                  },
                  "type": "ssvc"
                }
              }
            ],
            "providerMetadata": {
              "dateUpdated": "2026-09-02T17:56:59.397Z",
              "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
              "shortName": "CISA-ADP"
            },
            "title": "CISA ADP Vulnrichment"
          }
        ],
        "cna": {
          "affected": [
            {
              "defaultStatus": "unknown",
              "modules": [
                "ngx_http_js_module"
              ],
              "product": "NGINX JavaScript",
              "vendor": "F5",
              "versions": [
                {
                  "lessThan": "1.0.1",
                  "status": "affected",
                  "version": "1.0.0",
                  "versionType": "custom"
                },
                {
                  "lessThan": "*",
                  "status": "affected",
                  "version": "0.9.9",
                  "versionType": "custom"
                }
              ]
            }
          ],
          "credits": [
            {
              "lang": "en",
              "type": "finder",
              "value": "F5 acknowledges Ta Duc Thien (@thientd) of NTCS for bringing this issue to our attention and following the highest standards of coordinated disclosure."
            }
          ],
          "datePublic": "2026-08-19T14:00:00.000Z",
          "descriptions": [
            {
              "lang": "en",
              "supportingMedia": [
                {
                  "base64": false,
                  "type": "text/html",
                  "value": "Description\u003cbr\u003e\u003cbr\u003eNGINX JavaScript (njs)\u0026nbsp;\u003cspan style=\"background-color: rgb(255, 255, 255);\"\u003eand QuickJS (qjs) engines\u003c/span\u003e\u0026nbsp;have a vulnerability when a js_access handler performs asynchronous request body processing and an exception is thrown during asynchronous access-control evaluation before an explicit access denial is returned. An unauthenticated attacker can exploit this vulnerability by sending a crafted HTTP request that triggers an error condition in the access validation logic. This may cause the js_access phase to fail open, allowing the request to proceed instead of being denied, resulting in an authentication or authorization bypass and unauthorized access to protected resources.\u003cbr\u003e\u003cbr\u003eImpact\u003cbr\u003e\u003cbr\u003eThis vulnerability may allow remote attackers to bypass js_access controls. There is no control plane exposure; this is a data plane issue only.\u003cbr\u003e\u003cbr\u003e\n\n\nNote: Software versions which have reached End of Technical Support (EoTS) are not evaluated."
                }
              ],
              "value": "Description\n\nNGINX JavaScript (njs)\u00a0and QuickJS (qjs) engines\u00a0have a vulnerability when a js_access handler performs asynchronous request body processing and an exception is thrown during asynchronous access-control evaluation before an explicit access denial is returned. An unauthenticated attacker can exploit this vulnerability by sending a crafted HTTP request that triggers an error condition in the access validation logic. This may cause the js_access phase to fail open, allowing the request to proceed instead of being denied, resulting in an authentication or authorization bypass and unauthorized access to protected resources.\n\nImpact\n\nThis vulnerability may allow remote attackers to bypass js_access controls. There is no control plane exposure; this is a data plane issue only.\n\n\n\n\nNote: Software versions which have reached End of Technical Support (EoTS) are not evaluated."
            }
          ],
          "metrics": [
            {
              "cvssV3_1": {
                "attackComplexity": "LOW",
                "attackVector": "NETWORK",
                "availabilityImpact": "NONE",
                "baseScore": 8.2,
                "baseSeverity": "HIGH",
                "confidentialityImpact": "HIGH",
                "integrityImpact": "LOW",
                "privilegesRequired": "NONE",
                "scope": "UNCHANGED",
                "userInteraction": "NONE",
                "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:N",
                "version": "3.1"
              },
              "format": "CVSS",
              "scenarios": [
                {
                  "lang": "en",
                  "value": "GENERAL"
                }
              ]
            },
            {
              "cvssV4_0": {
                "Automatable": "NOT_DEFINED",
                "Recovery": "NOT_DEFINED",
                "Safety": "NOT_DEFINED",
                "attackComplexity": "LOW",
                "attackRequirements": "NONE",
                "attackVector": "NETWORK",
                "baseScore": 8.8,
                "baseSeverity": "HIGH",
                "privilegesRequired": "NONE",
                "providerUrgency": "NOT_DEFINED",
                "subAvailabilityImpact": "NONE",
                "subConfidentialityImpact": "NONE",
                "subIntegrityImpact": "NONE",
                "userInteraction": "NONE",
                "valueDensity": "NOT_DEFINED",
                "vectorString": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:L/VA:N/SC:N/SI:N/SA:N",
                "version": "4.0",
                "vulnAvailabilityImpact": "NONE",
                "vulnConfidentialityImpact": "HIGH",
                "vulnIntegrityImpact": "LOW",
                "vulnerabilityResponseEffort": "NOT_DEFINED"
              },
              "format": "CVSS",
              "scenarios": [
                {
                  "lang": "en",
                  "value": "GENERAL"
                }
              ]
            }
          ],
          "problemTypes": [
            {
              "descriptions": [
                {
                  "cweId": "CWE-636",
                  "description": "CWE-636",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-09-02T15:40:54.115Z",
            "orgId": "9dacffd4-cb11-413f-8451-fbbfd4ddc0ab",
            "shortName": "f5"
          },
          "references": [
            {
              "tags": [
                "vendor-advisory"
              ],
              "url": "https://my.f5.com/manage/s/article/K000162599"
            }
          ],
          "source": {
            "discovery": "EXTERNAL"
          },
          "title": "NGINX ngx_http_js_module vulnerability",
          "workarounds": [
            {
              "lang": "en",
              "supportingMedia": [
                {
                  "base64": false,
                  "type": "text/html",
                  "value": "\u003cul\u003e\u003cli\u003eTo secure your NGINX njs \u003cstrong\u003ejs_access\u003c/strong\u003e\u0026nbsp;handler against unhandled exceptions such as \u003cstrong\u003eJSON.parse\u003c/strong\u003e\u0026nbsp;failures, wrap your logic in a robust try/catch block with a default strict deny policy that returns an HTML 403 Forbidden response code. For example:\u003cp\u003easync function auth(r) {\u003cbr\u003e\u0026nbsp; try {\u003cbr\u003e\u0026nbsp; \u0026nbsp; // 1. Guard input: Safely check for the Authorization header\u003cbr\u003e\u0026nbsp; \u0026nbsp; var authHeader = r.headersIn ? r.headersIn.Authorization : undefined;\u003cbr\u003e\u0026nbsp; \u0026nbsp; if (!authHeader) {\u003cbr\u003e\u0026nbsp; \u0026nbsp; \u0026nbsp; r.warn(\"Access Denied: Missing Authorization header.\");\u003cbr\u003e\u0026nbsp; \u0026nbsp; \u0026nbsp; return r.return(401);\u003cbr\u003e\u0026nbsp; \u0026nbsp; }\u003cbr\u003e\u0026nbsp; \u0026nbsp; // 2. Perform the async HTTP request\u003cbr\u003e\u0026nbsp; \u0026nbsp; let reply = await ngx.fetch(\u0027\u003ca target=\"_blank\" rel=\"nofollow\" href=\"http://authsvc/check\"\u003ehttp://authsvc/check\u003c/a\u003e\u0027, {\u003cbr\u003e\u0026nbsp; \u0026nbsp; \u0026nbsp; headers: { Authorization: authHeader }\u003cbr\u003e\u0026nbsp; \u0026nbsp; });\u003cbr\u003e\u0026nbsp; \u0026nbsp; // 3. Validate response status\u003cbr\u003e\u0026nbsp; \u0026nbsp; if (reply.status !== 200) {\u003cbr\u003e\u0026nbsp; \u0026nbsp; \u0026nbsp; r.warn(`Access Denied: Auth service returned status ${reply.status}`);\u003cbr\u003e\u0026nbsp; \u0026nbsp; \u0026nbsp; return r.return(401);\u003cbr\u003e\u0026nbsp; \u0026nbsp; }\u003cbr\u003e\u0026nbsp; \u0026nbsp; // 4. Read response body\u003cbr\u003e\u0026nbsp; \u0026nbsp; // Note: ngx.fetch body is read asynchronously using .text() or .json()\u003cbr\u003e\u0026nbsp; \u0026nbsp; let responseText = await reply.text();\u003cbr\u003e\u0026nbsp; \u0026nbsp; let payload = {};\u003cbr\u003e\u0026nbsp; \u0026nbsp; // 5. Guard JSON.parse explicitly\u003cbr\u003e\u0026nbsp; \u0026nbsp; try {\u003cbr\u003e\u0026nbsp; \u0026nbsp; \u0026nbsp; payload = JSON.parse(responseText);\u003cbr\u003e\u0026nbsp; \u0026nbsp; } catch (jsonError) {\u003cbr\u003e\u0026nbsp; \u0026nbsp; \u0026nbsp; r.error(`Security Warning: Failed to parse auth service JSON payload: ${jsonError.message}`);\u003cbr\u003e\u0026nbsp; \u0026nbsp; \u0026nbsp; // Explicitly deny the request due to malformed auth response payload\u003cbr\u003e\u0026nbsp; \u0026nbsp; \u0026nbsp; return r.return(403);\u003cbr\u003e\u0026nbsp; \u0026nbsp; }\u003cbr\u003e\u0026nbsp; \u0026nbsp; // 6. Validate the contents of the parsed JSON\u003cbr\u003e\u0026nbsp; \u0026nbsp; if (payload.authorized !== true) {\u003cbr\u003e\u0026nbsp; \u0026nbsp; \u0026nbsp; r.warn(\"Access Denied: Client token validated but not authorized.\");\u003cbr\u003e\u0026nbsp; \u0026nbsp; \u0026nbsp; return r.return(403);\u003cbr\u003e\u0026nbsp; \u0026nbsp; }\u003cbr\u003e\u0026nbsp; \u0026nbsp; // 7. Success: Explicitly allow the request to proceed\u003cbr\u003e\u0026nbsp; \u0026nbsp; return r.return(200);\u003cbr\u003e\u0026nbsp; } catch (globalError) {\u003cbr\u003e\u0026nbsp; \u0026nbsp; // 8. Global Catch-All: Block the bypass vulnerability on any script exception\u003cbr\u003e\u0026nbsp; \u0026nbsp; r.error(`Security Critical: Unhandled exception in auth handler: ${globalError.toString()}`);\u003cbr\u003e\u0026nbsp; \u0026nbsp; // Always return 403 (Deny) on exception to guarantee a fail-closed state.\u003cbr\u003e\u0026nbsp; \u0026nbsp; return r.return(403);\u003cbr\u003e\u0026nbsp; }\u003cbr\u003e}\u003cbr\u003eexport default { auth };\u003c/p\u003e\u003c/li\u003e\u003cli\u003ePlace a security enforcement layer such as F5 WAF for NGINX or BIG-IP Advanced WAF before NGINX njs to prevent malformed requests. Configure the WAF to do the following:\u003cul\u003e\u003cli\u003eValidate JSON syntax Enforce request body limits Block malformed payloads\u003c/li\u003e\u003cli\u003eReject unexpected content types Apply API schema validation\u003c/li\u003e\u003c/ul\u003e\u003c/li\u003e\u003c/ul\u003e\n\n\u003cbr\u003e"
                }
              ],
              "value": "*  To secure your NGINX njs js_access\u00a0handler against unhandled exceptions such as JSON.parse\u00a0failures, wrap your logic in a robust try/catch block with a default strict deny policy that returns an HTML 403 Forbidden response code. For example:async function auth(r) {\n\u00a0 try {\n\u00a0 \u00a0 // 1. Guard input: Safely check for the Authorization header\n\u00a0 \u00a0 var authHeader = r.headersIn ? r.headersIn.Authorization : undefined;\n\u00a0 \u00a0 if (!authHeader) {\n\u00a0 \u00a0 \u00a0 r.warn(\"Access Denied: Missing Authorization header.\");\n\u00a0 \u00a0 \u00a0 return r.return(401);\n\u00a0 \u00a0 }\n\u00a0 \u00a0 // 2. Perform the async HTTP request\n\u00a0 \u00a0 let reply = await ngx.fetch(\u0027 http://authsvc/check \u0027, {\n\u00a0 \u00a0 \u00a0 headers: { Authorization: authHeader }\n\u00a0 \u00a0 });\n\u00a0 \u00a0 // 3. Validate response status\n\u00a0 \u00a0 if (reply.status !== 200) {\n\u00a0 \u00a0 \u00a0 r.warn(`Access Denied: Auth service returned status ${reply.status}`);\n\u00a0 \u00a0 \u00a0 return r.return(401);\n\u00a0 \u00a0 }\n\u00a0 \u00a0 // 4. Read response body\n\u00a0 \u00a0 // Note: ngx.fetch body is read asynchronously using .text() or .json()\n\u00a0 \u00a0 let responseText = await reply.text();\n\u00a0 \u00a0 let payload = {};\n\u00a0 \u00a0 // 5. Guard JSON.parse explicitly\n\u00a0 \u00a0 try {\n\u00a0 \u00a0 \u00a0 payload = JSON.parse(responseText);\n\u00a0 \u00a0 } catch (jsonError) {\n\u00a0 \u00a0 \u00a0 r.error(`Security Warning: Failed to parse auth service JSON payload: ${jsonError.message}`);\n\u00a0 \u00a0 \u00a0 // Explicitly deny the request due to malformed auth response payload\n\u00a0 \u00a0 \u00a0 return r.return(403);\n\u00a0 \u00a0 }\n\u00a0 \u00a0 // 6. Validate the contents of the parsed JSON\n\u00a0 \u00a0 if (payload.authorized !== true) {\n\u00a0 \u00a0 \u00a0 r.warn(\"Access Denied: Client token validated but not authorized.\");\n\u00a0 \u00a0 \u00a0 return r.return(403);\n\u00a0 \u00a0 }\n\u00a0 \u00a0 // 7. Success: Explicitly allow the request to proceed\n\u00a0 \u00a0 return r.return(200);\n\u00a0 } catch (globalError) {\n\u00a0 \u00a0 // 8. Global Catch-All: Block the bypass vulnerability on any script exception\n\u00a0 \u00a0 r.error(`Security Critical: Unhandled exception in auth handler: ${globalError.toString()}`);\n\u00a0 \u00a0 // Always return 403 (Deny) on exception to guarantee a fail-closed state.\n\u00a0 \u00a0 return r.return(403);\n\u00a0 }\n}\nexport default { auth };\n\n\n  *  Place a security enforcement layer such as F5 WAF for NGINX or BIG-IP Advanced WAF before NGINX njs to prevent malformed requests. Configure the WAF to do the following:  *  Validate JSON syntax Enforce request body limits Block malformed payloads\n  *  Reject unexpected content types Apply API schema validation"
            }
          ],
          "x_generator": {
            "engine": "F5 SIRTBot v1.0"
          }
        }
      },
      "cveMetadata": {
        "assignerOrgId": "9dacffd4-cb11-413f-8451-fbbfd4ddc0ab",
        "assignerShortName": "f5",
        "cveId": "CVE-2026-18329",
        "datePublished": "2026-09-02T15:40:54.115Z",
        "dateReserved": "2026-07-29T19:42:43.485Z",
        "dateUpdated": "2026-09-02T17:56:59.397Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }

    CVE-2026-8711 (GCVE-0-2026-8711)

    Vulnerability from nvd – Published: 2026-05-19 14:04 – Updated: 2026-05-21 18:29 X_F5
    VLAI
    Title
    NGINX JavaScript vulnerability
    Summary
    NGINX JavaScript has a vulnerability when the js_fetch_proxy directive is configured with at least one client-controlled NGINX variable (for example, $http_*, $arg_*, $cookie_*) and a location invoking the ngx.fetch() operation from NGINX JavaScript. An unauthenticated attacker can exploit this vulnerability by sending crafted HTTP requests. This may cause a heap buffer overflow in the NGINX worker process leading to a restart. Additionally, attackers can execute code on systems with Address Space Layout Randomization (ASLR) disabled or when the attacker can bypass ASLR. Note: Software versions which have reached End of Technical Support (EoTS) are not evaluated.
    SSVC
    Exploitation: none Automatable: no Technical Impact: total
    CISA Coordinator · CISA-ADP (v2.0.3)
    Decision recorded 2026-05-19 00:00 UTC
    CWE
    • CWE-122 - Heap-based Buffer Overflow
    Assigner
    References
    Impacted products
    Vendor Product Version
    F5 NGINX JavaScript Affected: 0.9.4 , < 0.9.9 (custom)
    Create a notification for this product.
    Date Public
    2026-05-19 14:00
    Show details on NVD website

    {
      "containers": {
        "adp": [
          {
            "metrics": [
              {
                "other": {
                  "content": {
                    "id": "CVE-2026-8711",
                    "options": [
                      {
                        "Exploitation": "none"
                      },
                      {
                        "Automatable": "no"
                      },
                      {
                        "Technical Impact": "total"
                      }
                    ],
                    "role": "CISA Coordinator",
                    "timestamp": "2026-05-19T00:00:00+00:00",
                    "version": "2.0.3"
                  },
                  "type": "ssvc"
                }
              }
            ],
            "providerMetadata": {
              "dateUpdated": "2026-05-20T03:55:39.626Z",
              "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
              "shortName": "CISA-ADP"
            },
            "title": "CISA ADP Vulnrichment"
          }
        ],
        "cna": {
          "affected": [
            {
              "defaultStatus": "unknown",
              "modules": [
                "ngx_http_js_module"
              ],
              "product": "NGINX JavaScript",
              "vendor": "F5",
              "versions": [
                {
                  "lessThan": "0.9.9",
                  "status": "affected",
                  "version": "0.9.4",
                  "versionType": "custom"
                }
              ]
            }
          ],
          "credits": [
            {
              "lang": "en",
              "type": "reporter",
              "value": "\"F5 acknowledges udolemi (S2W) for bringing this issue to our attention and following the highest standards of coordinated disclosure.\""
            }
          ],
          "datePublic": "2026-05-19T14:00:00.000Z",
          "descriptions": [
            {
              "lang": "en",
              "supportingMedia": [
                {
                  "base64": false,
                  "type": "text/html",
                  "value": "\u003cspan style=\"background-color: rgb(255, 255, 255);\"\u003eNGINX JavaScript has a vulnerability when the \u003c/span\u003e\u003cstrong\u003ejs_fetch_proxy\u003c/strong\u003e\u003cspan style=\"background-color: rgb(255, 255, 255);\"\u003e\u0026nbsp;directive is configured with at least one client-controlled NGINX variable (for example, \u003c/span\u003e\u003cstrong\u003e$http_*\u003c/strong\u003e\u003cspan style=\"background-color: rgb(255, 255, 255);\"\u003e, \u003c/span\u003e\u003cstrong\u003e$arg_*\u003c/strong\u003e\u003cspan style=\"background-color: rgb(255, 255, 255);\"\u003e, \u003c/span\u003e\u003cstrong\u003e$cookie_*\u003c/strong\u003e\u003cspan style=\"background-color: rgb(255, 255, 255);\"\u003e) and a location invoking the ngx.fetch() operation from NGINX JavaScript. An unauthenticated attacker can exploit this vulnerability by sending crafted HTTP requests. This may cause a heap buffer overflow in the NGINX worker process leading to a restart. Additionally, attackers can execute code on systems with Address Space Layout Randomization (ASLR) disabled or when the attacker can bypass ASLR.\u003c/span\u003e \n\n\nNote: Software versions which have reached End of Technical Support (EoTS) are not evaluated."
                }
              ],
              "value": "NGINX JavaScript has a vulnerability when the js_fetch_proxy\u00a0directive is configured with at least one client-controlled NGINX variable (for example, $http_*, $arg_*, $cookie_*) and a location invoking the ngx.fetch() operation from NGINX JavaScript. An unauthenticated attacker can exploit this vulnerability by sending crafted HTTP requests. This may cause a heap buffer overflow in the NGINX worker process leading to a restart. Additionally, attackers can execute code on systems with Address Space Layout Randomization (ASLR) disabled or when the attacker can bypass ASLR. \n\n\nNote: Software versions which have reached End of Technical Support (EoTS) are not evaluated."
            }
          ],
          "metrics": [
            {
              "cvssV3_1": {
                "attackComplexity": "HIGH",
                "attackVector": "NETWORK",
                "availabilityImpact": "HIGH",
                "baseScore": 8.1,
                "baseSeverity": "HIGH",
                "confidentialityImpact": "HIGH",
                "integrityImpact": "HIGH",
                "privilegesRequired": "NONE",
                "scope": "UNCHANGED",
                "userInteraction": "NONE",
                "vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H",
                "version": "3.1"
              },
              "format": "CVSS",
              "scenarios": [
                {
                  "lang": "en",
                  "value": "GENERAL"
                }
              ]
            },
            {
              "cvssV4_0": {
                "Automatable": "NOT_DEFINED",
                "Recovery": "NOT_DEFINED",
                "Safety": "NOT_DEFINED",
                "attackComplexity": "HIGH",
                "attackRequirements": "PRESENT",
                "attackVector": "NETWORK",
                "baseScore": 9.2,
                "baseSeverity": "CRITICAL",
                "privilegesRequired": "NONE",
                "providerUrgency": "NOT_DEFINED",
                "subAvailabilityImpact": "NONE",
                "subConfidentialityImpact": "NONE",
                "subIntegrityImpact": "NONE",
                "userInteraction": "NONE",
                "valueDensity": "NOT_DEFINED",
                "vectorString": "CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N",
                "version": "4.0",
                "vulnAvailabilityImpact": "HIGH",
                "vulnConfidentialityImpact": "HIGH",
                "vulnIntegrityImpact": "HIGH",
                "vulnerabilityResponseEffort": "NOT_DEFINED"
              },
              "format": "CVSS",
              "scenarios": [
                {
                  "lang": "en",
                  "value": "GENERAL"
                }
              ]
            }
          ],
          "problemTypes": [
            {
              "descriptions": [
                {
                  "cweId": "CWE-122",
                  "description": "CWE-122 Heap-based Buffer Overflow",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-05-21T18:29:16.674Z",
            "orgId": "9dacffd4-cb11-413f-8451-fbbfd4ddc0ab",
            "shortName": "f5"
          },
          "references": [
            {
              "tags": [
                "vendor-advisory"
              ],
              "url": "https://my.f5.com/manage/s/article/K000161307"
            }
          ],
          "source": {
            "discovery": "EXTERNAL"
          },
          "tags": [
            "x_F5"
          ],
          "title": "NGINX JavaScript vulnerability",
          "x_generator": {
            "engine": "F5 SIRTBot v1.0"
          }
        }
      },
      "cveMetadata": {
        "assignerOrgId": "9dacffd4-cb11-413f-8451-fbbfd4ddc0ab",
        "assignerShortName": "f5",
        "cveId": "CVE-2026-8711",
        "datePublished": "2026-05-19T14:04:18.860Z",
        "dateReserved": "2026-05-15T20:10:29.764Z",
        "dateUpdated": "2026-05-21T18:29:16.674Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }

    CVE-2026-78222 (GCVE-0-2026-78222)

    Vulnerability from cvelistv5 – Published: 2026-09-02 15:40 – Updated: 2026-09-02 17:59
    VLAI
    Title
    NGINX ngx_http_js_module vulnerability
    Summary
    A vulnerability exists in NGINX JavaScript where a malformed HTTP response received by ngx.fetch() can crash an NGINX worker when trusted JavaScript reads Response.statusText. Exploitation requires control or influence over the fetched HTTP response. Impact: This vulnerability may allow remote attackers to cause a denial-of-service (DoS) on the NGINX system. There is no control plane exposure; this is a data plane issue only. Note: Software versions which have reached End of Technical Support (EoTS) are not evaluated.
    SSVC
    Exploitation: none Automatable: yes Technical Impact: partial
    CISA Coordinator · CISA-ADP (v2.0.3)
    Decision recorded 2026-09-02 17:59 UTC
    CWE
    • CWE-476 - NULL Pointer Dereference
    Assigner
    References
    Impacted products
    Vendor Product Version
    F5 NGINX JavaScript Affected: 0.5.1 , < 1.0.1 (custom)
    Create a notification for this product.
    Date Public
    2026-09-02 14:00
    Show details on NVD website

    {
      "containers": {
        "adp": [
          {
            "metrics": [
              {
                "other": {
                  "content": {
                    "id": "CVE-2026-78222",
                    "options": [
                      {
                        "Exploitation": "none"
                      },
                      {
                        "Automatable": "yes"
                      },
                      {
                        "Technical Impact": "partial"
                      }
                    ],
                    "role": "CISA Coordinator",
                    "timestamp": "2026-09-02T17:59:30.733424Z",
                    "version": "2.0.3"
                  },
                  "type": "ssvc"
                }
              }
            ],
            "providerMetadata": {
              "dateUpdated": "2026-09-02T17:59:40.463Z",
              "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
              "shortName": "CISA-ADP"
            },
            "title": "CISA ADP Vulnrichment"
          }
        ],
        "cna": {
          "affected": [
            {
              "defaultStatus": "unknown",
              "modules": [
                "ngx_http_js_module"
              ],
              "product": "NGINX JavaScript",
              "vendor": "F5",
              "versions": [
                {
                  "lessThan": "1.0.1",
                  "status": "affected",
                  "version": "0.5.1",
                  "versionType": "custom"
                }
              ]
            }
          ],
          "credits": [
            {
              "lang": "en",
              "type": "reporter",
              "value": "F5 acknowledges Sujal Tuladhar (EvilGenius) and YuuLuo for bringing this issue to our attention and following the highest standards of coordinated disclosure."
            }
          ],
          "datePublic": "2026-09-02T14:00:00.000Z",
          "descriptions": [
            {
              "lang": "en",
              "supportingMedia": [
                {
                  "base64": false,
                  "type": "text/html",
                  "value": "A vulnerability exists in NGINX JavaScript where a malformed HTTP response received by ngx.fetch() can crash an NGINX worker when trusted JavaScript reads Response.statusText. Exploitation requires control or influence over the fetched HTTP response.\u003cbr\u003e\u003cbr\u003eImpact:\u003cbr\u003eThis vulnerability may allow remote attackers to cause a denial-of-service (DoS) on the NGINX system. There is no control plane exposure; this is a data plane issue only.\u003cbr\u003e\u003cbr\u003e\n\n\nNote: Software versions which have reached End of Technical Support (EoTS) are not evaluated."
                }
              ],
              "value": "A vulnerability exists in NGINX JavaScript where a malformed HTTP response received by ngx.fetch() can crash an NGINX worker when trusted JavaScript reads Response.statusText. Exploitation requires control or influence over the fetched HTTP response.\n\nImpact:\nThis vulnerability may allow remote attackers to cause a denial-of-service (DoS) on the NGINX system. There is no control plane exposure; this is a data plane issue only.\n\n\n\n\nNote: Software versions which have reached End of Technical Support (EoTS) are not evaluated."
            }
          ],
          "metrics": [
            {
              "cvssV3_1": {
                "attackComplexity": "LOW",
                "attackVector": "NETWORK",
                "availabilityImpact": "HIGH",
                "baseScore": 7.5,
                "baseSeverity": "HIGH",
                "confidentialityImpact": "NONE",
                "integrityImpact": "NONE",
                "privilegesRequired": "NONE",
                "scope": "UNCHANGED",
                "userInteraction": "NONE",
                "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H",
                "version": "3.1"
              },
              "format": "CVSS",
              "scenarios": [
                {
                  "lang": "en",
                  "value": "GENERAL"
                }
              ]
            },
            {
              "cvssV4_0": {
                "Automatable": "NOT_DEFINED",
                "Recovery": "NOT_DEFINED",
                "Safety": "NOT_DEFINED",
                "attackComplexity": "LOW",
                "attackRequirements": "NONE",
                "attackVector": "NETWORK",
                "baseScore": 8.7,
                "baseSeverity": "HIGH",
                "privilegesRequired": "NONE",
                "providerUrgency": "NOT_DEFINED",
                "subAvailabilityImpact": "NONE",
                "subConfidentialityImpact": "NONE",
                "subIntegrityImpact": "NONE",
                "userInteraction": "NONE",
                "valueDensity": "NOT_DEFINED",
                "vectorString": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N",
                "version": "4.0",
                "vulnAvailabilityImpact": "HIGH",
                "vulnConfidentialityImpact": "NONE",
                "vulnIntegrityImpact": "NONE",
                "vulnerabilityResponseEffort": "NOT_DEFINED"
              },
              "format": "CVSS",
              "scenarios": [
                {
                  "lang": "en",
                  "value": "GENERAL"
                }
              ]
            }
          ],
          "problemTypes": [
            {
              "descriptions": [
                {
                  "cweId": "CWE-476",
                  "description": "CWE-476 NULL Pointer Dereference",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-09-02T15:40:55.467Z",
            "orgId": "9dacffd4-cb11-413f-8451-fbbfd4ddc0ab",
            "shortName": "f5"
          },
          "references": [
            {
              "tags": [
                "vendor-advisory"
              ],
              "url": "https://my.f5.com/manage/s/article/K000162603"
            }
          ],
          "source": {
            "discovery": "EXTERNAL"
          },
          "title": "NGINX ngx_http_js_module vulnerability",
          "workarounds": [
            {
              "lang": "en",
              "supportingMedia": [
                {
                  "base64": false,
                  "type": "text/html",
                  "value": "Restrict ngx.fetch() destinations to trusted servers and avoid reading Response.statusText for responses from attacker-controlled or attacker-influenced endpoints. \u003cbr\u003eUsing HTTPS with certificate verification reduces exposure to network-based response manipulation but does not protect against a malicious or compromised fetched server\u003cbr\u003e"
                }
              ],
              "value": "Restrict ngx.fetch() destinations to trusted servers and avoid reading Response.statusText for responses from attacker-controlled or attacker-influenced endpoints. \nUsing HTTPS with certificate verification reduces exposure to network-based response manipulation but does not protect against a malicious or compromised fetched server"
            }
          ],
          "x_generator": {
            "engine": "F5 SIRTBot v1.0"
          }
        }
      },
      "cveMetadata": {
        "assignerOrgId": "9dacffd4-cb11-413f-8451-fbbfd4ddc0ab",
        "assignerShortName": "f5",
        "cveId": "CVE-2026-78222",
        "datePublished": "2026-09-02T15:40:55.467Z",
        "dateReserved": "2026-08-25T23:21:14.556Z",
        "dateUpdated": "2026-09-02T17:59:40.463Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }

    CVE-2026-78689 (GCVE-0-2026-78689)

    Vulnerability from cvelistv5 – Published: 2026-09-02 15:40 – Updated: 2026-09-03 03:56
    VLAI
    Title
    NGINX ngx_http_js_module vulnerablility
    Summary
    Description NGINX JavaScript (njs) has a vulnerability in the XML module's namespace prefix list parser, reachable through the xml.exclusiveC14n() method. An unauthenticated remote attacker can trigger it when an affected NGINX configuration passes an externally controlled XML namespace prefix list to that method. Both the njs and the QuickJS (qjs) engines are affected. A crafted prefix list causes an out-of-bounds write past the end of a heap allocation. With the njs engine, which is the engine used when the js_engine directive is absent, this corrupts adjacent objects and crashes the NGINX worker. With the QuickJS engine, the same call additionally leaks the prefix list on every invocation, causing worker memory to grow across requests. The official nginxinc/nginx-saml reference implementation is affected during SAML signature verification. It reads InclusiveNamespaces/@PrefixList from an untrusted SAML message and passes it to xml.exclusiveC14n() before the signature has been verified, so a valid SAML signature is not required. A crafted SAML Response, Assertion, LogoutRequest, or LogoutResponse is sufficient. Code execution has not been demonstrated and cannot be ruled out for all platforms, as the effect of the out-of-bounds write depends on conditions beyond the attacker's control.   Impact This vulnerability allows remote attackers to cause a denial of service on the NGINX system, either through repeatable worker restarts or through worker memory growth or possibly trigger code execution. There is no control plane exposure; this is a data plane issue only. Note: Software versions which have reached End of Technical Support (EoTS) are not evaluated.
    SSVC
    Exploitation: none Automatable: no Technical Impact: total
    CISA Coordinator · CISA-ADP (v2.0.3)
    Decision recorded 2026-09-02 00:00 UTC
    CWE
    Assigner
    References
    Impacted products
    Vendor Product Version
    F5 NGINX JavaScript Affected: 0.7.10 , < 1.0.1 (custom)
    Create a notification for this product.
    Date Public
    2023-01-01 00:00
    Show details on NVD website

    {
      "containers": {
        "adp": [
          {
            "metrics": [
              {
                "other": {
                  "content": {
                    "id": "CVE-2026-78689",
                    "options": [
                      {
                        "Exploitation": "none"
                      },
                      {
                        "Automatable": "no"
                      },
                      {
                        "Technical Impact": "total"
                      }
                    ],
                    "role": "CISA Coordinator",
                    "timestamp": "2026-09-02T00:00:00+00:00",
                    "version": "2.0.3"
                  },
                  "type": "ssvc"
                }
              }
            ],
            "providerMetadata": {
              "dateUpdated": "2026-09-03T03:56:39.199Z",
              "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
              "shortName": "CISA-ADP"
            },
            "title": "CISA ADP Vulnrichment"
          }
        ],
        "cna": {
          "affected": [
            {
              "defaultStatus": "unknown",
              "modules": [
                "ngx_http_js_module"
              ],
              "product": "NGINX JavaScript",
              "vendor": "F5",
              "versions": [
                {
                  "lessThan": "1.0.1",
                  "status": "affected",
                  "version": "0.7.10",
                  "versionType": "custom"
                }
              ]
            }
          ],
          "credits": [
            {
              "lang": "en",
              "type": "finder",
              "value": "F5 acknowledges Vladimir Tokarev of Cyera and Sujal Tuladhar (EvilGenius) for bringing this issue to our attention and following the highest standards of coordinated disclosure."
            }
          ],
          "datePublic": "2023-01-01T00:00:00.000Z",
          "descriptions": [
            {
              "lang": "en",
              "supportingMedia": [
                {
                  "base64": false,
                  "type": "text/html",
                  "value": "Description\u003cbr\u003e\n\n\u003cdiv\u003eNGINX JavaScript (njs) has a vulnerability in the XML module\u0027s namespace prefix list parser, reachable through the xml.exclusiveC14n() method. An unauthenticated remote attacker can trigger it when an affected NGINX configuration passes an externally controlled XML namespace prefix list to that method. Both the njs and the QuickJS (qjs) engines are affected. A crafted prefix list causes an out-of-bounds write past the end of a heap allocation. With the njs engine, which is the engine used when the js_engine directive is absent, this corrupts adjacent objects and crashes the NGINX worker. With the QuickJS engine, the same call additionally leaks the prefix list on every invocation, causing worker memory to grow across requests. The official nginxinc/nginx-saml reference implementation is affected during SAML signature verification. It reads InclusiveNamespaces/@PrefixList from an untrusted SAML message and passes it to xml.exclusiveC14n() before the signature has been verified, so a valid SAML signature is not required. A crafted SAML Response, Assertion, LogoutRequest, or LogoutResponse is sufficient. Code execution has not been demonstrated and cannot be ruled out for all platforms, as the effect of the out-of-bounds write depends on conditions beyond the attacker\u0027s control. \u0026nbsp;\u003c/div\u003e\u003cdiv\u003e\u003cdiv\u003e\u003c/div\u003e\u003c/div\u003e\n\n\u003cbr\u003e Impact\u003cbr\u003e\n\nThis vulnerability allows remote attackers to cause a denial of service on the NGINX system, either through repeatable worker restarts or through worker memory growth or possibly trigger code execution. There is no control plane exposure; this is a data plane issue only.\n\n\u003cbr\u003e\u003cbr\u003e\n\n\nNote: Software versions which have reached End of Technical Support (EoTS) are not evaluated."
                }
              ],
              "value": "Description\n\n\nNGINX JavaScript (njs) has a vulnerability in the XML module\u0027s namespace prefix list parser, reachable through the xml.exclusiveC14n() method. An unauthenticated remote attacker can trigger it when an affected NGINX configuration passes an externally controlled XML namespace prefix list to that method. Both the njs and the QuickJS (qjs) engines are affected. A crafted prefix list causes an out-of-bounds write past the end of a heap allocation. With the njs engine, which is the engine used when the js_engine directive is absent, this corrupts adjacent objects and crashes the NGINX worker. With the QuickJS engine, the same call additionally leaks the prefix list on every invocation, causing worker memory to grow across requests. The official nginxinc/nginx-saml reference implementation is affected during SAML signature verification. It reads InclusiveNamespaces/@PrefixList from an untrusted SAML message and passes it to xml.exclusiveC14n() before the signature has been verified, so a valid SAML signature is not required. A crafted SAML Response, Assertion, LogoutRequest, or LogoutResponse is sufficient. Code execution has not been demonstrated and cannot be ruled out for all platforms, as the effect of the out-of-bounds write depends on conditions beyond the attacker\u0027s control. \u00a0\n\n\n\n\n\n\n\n\n Impact\n\n\nThis vulnerability allows remote attackers to cause a denial of service on the NGINX system, either through repeatable worker restarts or through worker memory growth or possibly trigger code execution. There is no control plane exposure; this is a data plane issue only.\n\n\n\n\n\n\nNote: Software versions which have reached End of Technical Support (EoTS) are not evaluated."
            }
          ],
          "metrics": [
            {
              "cvssV3_1": {
                "attackComplexity": "HIGH",
                "attackVector": "NETWORK",
                "availabilityImpact": "HIGH",
                "baseScore": 8.1,
                "baseSeverity": "HIGH",
                "confidentialityImpact": "HIGH",
                "integrityImpact": "HIGH",
                "privilegesRequired": "NONE",
                "scope": "UNCHANGED",
                "userInteraction": "NONE",
                "vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H",
                "version": "3.1"
              },
              "format": "CVSS",
              "scenarios": [
                {
                  "lang": "en",
                  "value": "GENERAL"
                }
              ]
            },
            {
              "cvssV4_0": {
                "Automatable": "NOT_DEFINED",
                "Recovery": "NOT_DEFINED",
                "Safety": "NOT_DEFINED",
                "attackComplexity": "LOW",
                "attackRequirements": "PRESENT",
                "attackVector": "NETWORK",
                "baseScore": 9.2,
                "baseSeverity": "CRITICAL",
                "privilegesRequired": "NONE",
                "providerUrgency": "NOT_DEFINED",
                "subAvailabilityImpact": "NONE",
                "subConfidentialityImpact": "NONE",
                "subIntegrityImpact": "NONE",
                "userInteraction": "NONE",
                "valueDensity": "NOT_DEFINED",
                "vectorString": "CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N",
                "version": "4.0",
                "vulnAvailabilityImpact": "HIGH",
                "vulnConfidentialityImpact": "HIGH",
                "vulnIntegrityImpact": "HIGH",
                "vulnerabilityResponseEffort": "NOT_DEFINED"
              },
              "format": "CVSS",
              "scenarios": [
                {
                  "lang": "en",
                  "value": "GENERAL"
                }
              ]
            }
          ],
          "problemTypes": [
            {
              "descriptions": [
                {
                  "cweId": "CWE-122",
                  "description": "CWE-122",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-09-02T15:40:55.118Z",
            "orgId": "9dacffd4-cb11-413f-8451-fbbfd4ddc0ab",
            "shortName": "f5"
          },
          "references": [
            {
              "tags": [
                "vendor-advisory"
              ],
              "url": "https://my.f5.com/manage/s/article/K000162602"
            }
          ],
          "source": {
            "discovery": "EXTERNAL"
          },
          "title": "NGINX ngx_http_js_module vulnerablility",
          "workarounds": [
            {
              "lang": "en",
              "supportingMedia": [
                {
                  "base64": false,
                  "type": "text/html",
                  "value": "None"
                }
              ],
              "value": "None"
            }
          ],
          "x_generator": {
            "engine": "F5 SIRTBot v1.0"
          }
        }
      },
      "cveMetadata": {
        "assignerOrgId": "9dacffd4-cb11-413f-8451-fbbfd4ddc0ab",
        "assignerShortName": "f5",
        "cveId": "CVE-2026-78689",
        "datePublished": "2026-09-02T15:40:55.118Z",
        "dateReserved": "2026-08-25T23:21:14.550Z",
        "dateUpdated": "2026-09-03T03:56:39.199Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }

    CVE-2026-18329 (GCVE-0-2026-18329)

    Vulnerability from cvelistv5 – Published: 2026-09-02 15:40 – Updated: 2026-09-02 17:56
    VLAI
    Title
    NGINX ngx_http_js_module vulnerability
    Summary
    Description NGINX JavaScript (njs) and QuickJS (qjs) engines have a vulnerability when a js_access handler performs asynchronous request body processing and an exception is thrown during asynchronous access-control evaluation before an explicit access denial is returned. An unauthenticated attacker can exploit this vulnerability by sending a crafted HTTP request that triggers an error condition in the access validation logic. This may cause the js_access phase to fail open, allowing the request to proceed instead of being denied, resulting in an authentication or authorization bypass and unauthorized access to protected resources. Impact This vulnerability may allow remote attackers to bypass js_access controls. There is no control plane exposure; this is a data plane issue only. Note: Software versions which have reached End of Technical Support (EoTS) are not evaluated.
    SSVC
    Exploitation: none Automatable: yes Technical Impact: partial
    CISA Coordinator · CISA-ADP (v2.0.3)
    Decision recorded 2026-09-02 17:56 UTC
    CWE
    Assigner
    References
    Impacted products
    Vendor Product Version
    F5 NGINX JavaScript Affected: 1.0.0 , < 1.0.1 (custom)
    Affected: 0.9.9 , < * (custom)
    Create a notification for this product.
    Date Public
    2026-08-19 14:00
    Show details on NVD website

    {
      "containers": {
        "adp": [
          {
            "metrics": [
              {
                "other": {
                  "content": {
                    "id": "CVE-2026-18329",
                    "options": [
                      {
                        "Exploitation": "none"
                      },
                      {
                        "Automatable": "yes"
                      },
                      {
                        "Technical Impact": "partial"
                      }
                    ],
                    "role": "CISA Coordinator",
                    "timestamp": "2026-09-02T17:56:50.319435Z",
                    "version": "2.0.3"
                  },
                  "type": "ssvc"
                }
              }
            ],
            "providerMetadata": {
              "dateUpdated": "2026-09-02T17:56:59.397Z",
              "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
              "shortName": "CISA-ADP"
            },
            "title": "CISA ADP Vulnrichment"
          }
        ],
        "cna": {
          "affected": [
            {
              "defaultStatus": "unknown",
              "modules": [
                "ngx_http_js_module"
              ],
              "product": "NGINX JavaScript",
              "vendor": "F5",
              "versions": [
                {
                  "lessThan": "1.0.1",
                  "status": "affected",
                  "version": "1.0.0",
                  "versionType": "custom"
                },
                {
                  "lessThan": "*",
                  "status": "affected",
                  "version": "0.9.9",
                  "versionType": "custom"
                }
              ]
            }
          ],
          "credits": [
            {
              "lang": "en",
              "type": "finder",
              "value": "F5 acknowledges Ta Duc Thien (@thientd) of NTCS for bringing this issue to our attention and following the highest standards of coordinated disclosure."
            }
          ],
          "datePublic": "2026-08-19T14:00:00.000Z",
          "descriptions": [
            {
              "lang": "en",
              "supportingMedia": [
                {
                  "base64": false,
                  "type": "text/html",
                  "value": "Description\u003cbr\u003e\u003cbr\u003eNGINX JavaScript (njs)\u0026nbsp;\u003cspan style=\"background-color: rgb(255, 255, 255);\"\u003eand QuickJS (qjs) engines\u003c/span\u003e\u0026nbsp;have a vulnerability when a js_access handler performs asynchronous request body processing and an exception is thrown during asynchronous access-control evaluation before an explicit access denial is returned. An unauthenticated attacker can exploit this vulnerability by sending a crafted HTTP request that triggers an error condition in the access validation logic. This may cause the js_access phase to fail open, allowing the request to proceed instead of being denied, resulting in an authentication or authorization bypass and unauthorized access to protected resources.\u003cbr\u003e\u003cbr\u003eImpact\u003cbr\u003e\u003cbr\u003eThis vulnerability may allow remote attackers to bypass js_access controls. There is no control plane exposure; this is a data plane issue only.\u003cbr\u003e\u003cbr\u003e\n\n\nNote: Software versions which have reached End of Technical Support (EoTS) are not evaluated."
                }
              ],
              "value": "Description\n\nNGINX JavaScript (njs)\u00a0and QuickJS (qjs) engines\u00a0have a vulnerability when a js_access handler performs asynchronous request body processing and an exception is thrown during asynchronous access-control evaluation before an explicit access denial is returned. An unauthenticated attacker can exploit this vulnerability by sending a crafted HTTP request that triggers an error condition in the access validation logic. This may cause the js_access phase to fail open, allowing the request to proceed instead of being denied, resulting in an authentication or authorization bypass and unauthorized access to protected resources.\n\nImpact\n\nThis vulnerability may allow remote attackers to bypass js_access controls. There is no control plane exposure; this is a data plane issue only.\n\n\n\n\nNote: Software versions which have reached End of Technical Support (EoTS) are not evaluated."
            }
          ],
          "metrics": [
            {
              "cvssV3_1": {
                "attackComplexity": "LOW",
                "attackVector": "NETWORK",
                "availabilityImpact": "NONE",
                "baseScore": 8.2,
                "baseSeverity": "HIGH",
                "confidentialityImpact": "HIGH",
                "integrityImpact": "LOW",
                "privilegesRequired": "NONE",
                "scope": "UNCHANGED",
                "userInteraction": "NONE",
                "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:N",
                "version": "3.1"
              },
              "format": "CVSS",
              "scenarios": [
                {
                  "lang": "en",
                  "value": "GENERAL"
                }
              ]
            },
            {
              "cvssV4_0": {
                "Automatable": "NOT_DEFINED",
                "Recovery": "NOT_DEFINED",
                "Safety": "NOT_DEFINED",
                "attackComplexity": "LOW",
                "attackRequirements": "NONE",
                "attackVector": "NETWORK",
                "baseScore": 8.8,
                "baseSeverity": "HIGH",
                "privilegesRequired": "NONE",
                "providerUrgency": "NOT_DEFINED",
                "subAvailabilityImpact": "NONE",
                "subConfidentialityImpact": "NONE",
                "subIntegrityImpact": "NONE",
                "userInteraction": "NONE",
                "valueDensity": "NOT_DEFINED",
                "vectorString": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:L/VA:N/SC:N/SI:N/SA:N",
                "version": "4.0",
                "vulnAvailabilityImpact": "NONE",
                "vulnConfidentialityImpact": "HIGH",
                "vulnIntegrityImpact": "LOW",
                "vulnerabilityResponseEffort": "NOT_DEFINED"
              },
              "format": "CVSS",
              "scenarios": [
                {
                  "lang": "en",
                  "value": "GENERAL"
                }
              ]
            }
          ],
          "problemTypes": [
            {
              "descriptions": [
                {
                  "cweId": "CWE-636",
                  "description": "CWE-636",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-09-02T15:40:54.115Z",
            "orgId": "9dacffd4-cb11-413f-8451-fbbfd4ddc0ab",
            "shortName": "f5"
          },
          "references": [
            {
              "tags": [
                "vendor-advisory"
              ],
              "url": "https://my.f5.com/manage/s/article/K000162599"
            }
          ],
          "source": {
            "discovery": "EXTERNAL"
          },
          "title": "NGINX ngx_http_js_module vulnerability",
          "workarounds": [
            {
              "lang": "en",
              "supportingMedia": [
                {
                  "base64": false,
                  "type": "text/html",
                  "value": "\u003cul\u003e\u003cli\u003eTo secure your NGINX njs \u003cstrong\u003ejs_access\u003c/strong\u003e\u0026nbsp;handler against unhandled exceptions such as \u003cstrong\u003eJSON.parse\u003c/strong\u003e\u0026nbsp;failures, wrap your logic in a robust try/catch block with a default strict deny policy that returns an HTML 403 Forbidden response code. For example:\u003cp\u003easync function auth(r) {\u003cbr\u003e\u0026nbsp; try {\u003cbr\u003e\u0026nbsp; \u0026nbsp; // 1. Guard input: Safely check for the Authorization header\u003cbr\u003e\u0026nbsp; \u0026nbsp; var authHeader = r.headersIn ? r.headersIn.Authorization : undefined;\u003cbr\u003e\u0026nbsp; \u0026nbsp; if (!authHeader) {\u003cbr\u003e\u0026nbsp; \u0026nbsp; \u0026nbsp; r.warn(\"Access Denied: Missing Authorization header.\");\u003cbr\u003e\u0026nbsp; \u0026nbsp; \u0026nbsp; return r.return(401);\u003cbr\u003e\u0026nbsp; \u0026nbsp; }\u003cbr\u003e\u0026nbsp; \u0026nbsp; // 2. Perform the async HTTP request\u003cbr\u003e\u0026nbsp; \u0026nbsp; let reply = await ngx.fetch(\u0027\u003ca target=\"_blank\" rel=\"nofollow\" href=\"http://authsvc/check\"\u003ehttp://authsvc/check\u003c/a\u003e\u0027, {\u003cbr\u003e\u0026nbsp; \u0026nbsp; \u0026nbsp; headers: { Authorization: authHeader }\u003cbr\u003e\u0026nbsp; \u0026nbsp; });\u003cbr\u003e\u0026nbsp; \u0026nbsp; // 3. Validate response status\u003cbr\u003e\u0026nbsp; \u0026nbsp; if (reply.status !== 200) {\u003cbr\u003e\u0026nbsp; \u0026nbsp; \u0026nbsp; r.warn(`Access Denied: Auth service returned status ${reply.status}`);\u003cbr\u003e\u0026nbsp; \u0026nbsp; \u0026nbsp; return r.return(401);\u003cbr\u003e\u0026nbsp; \u0026nbsp; }\u003cbr\u003e\u0026nbsp; \u0026nbsp; // 4. Read response body\u003cbr\u003e\u0026nbsp; \u0026nbsp; // Note: ngx.fetch body is read asynchronously using .text() or .json()\u003cbr\u003e\u0026nbsp; \u0026nbsp; let responseText = await reply.text();\u003cbr\u003e\u0026nbsp; \u0026nbsp; let payload = {};\u003cbr\u003e\u0026nbsp; \u0026nbsp; // 5. Guard JSON.parse explicitly\u003cbr\u003e\u0026nbsp; \u0026nbsp; try {\u003cbr\u003e\u0026nbsp; \u0026nbsp; \u0026nbsp; payload = JSON.parse(responseText);\u003cbr\u003e\u0026nbsp; \u0026nbsp; } catch (jsonError) {\u003cbr\u003e\u0026nbsp; \u0026nbsp; \u0026nbsp; r.error(`Security Warning: Failed to parse auth service JSON payload: ${jsonError.message}`);\u003cbr\u003e\u0026nbsp; \u0026nbsp; \u0026nbsp; // Explicitly deny the request due to malformed auth response payload\u003cbr\u003e\u0026nbsp; \u0026nbsp; \u0026nbsp; return r.return(403);\u003cbr\u003e\u0026nbsp; \u0026nbsp; }\u003cbr\u003e\u0026nbsp; \u0026nbsp; // 6. Validate the contents of the parsed JSON\u003cbr\u003e\u0026nbsp; \u0026nbsp; if (payload.authorized !== true) {\u003cbr\u003e\u0026nbsp; \u0026nbsp; \u0026nbsp; r.warn(\"Access Denied: Client token validated but not authorized.\");\u003cbr\u003e\u0026nbsp; \u0026nbsp; \u0026nbsp; return r.return(403);\u003cbr\u003e\u0026nbsp; \u0026nbsp; }\u003cbr\u003e\u0026nbsp; \u0026nbsp; // 7. Success: Explicitly allow the request to proceed\u003cbr\u003e\u0026nbsp; \u0026nbsp; return r.return(200);\u003cbr\u003e\u0026nbsp; } catch (globalError) {\u003cbr\u003e\u0026nbsp; \u0026nbsp; // 8. Global Catch-All: Block the bypass vulnerability on any script exception\u003cbr\u003e\u0026nbsp; \u0026nbsp; r.error(`Security Critical: Unhandled exception in auth handler: ${globalError.toString()}`);\u003cbr\u003e\u0026nbsp; \u0026nbsp; // Always return 403 (Deny) on exception to guarantee a fail-closed state.\u003cbr\u003e\u0026nbsp; \u0026nbsp; return r.return(403);\u003cbr\u003e\u0026nbsp; }\u003cbr\u003e}\u003cbr\u003eexport default { auth };\u003c/p\u003e\u003c/li\u003e\u003cli\u003ePlace a security enforcement layer such as F5 WAF for NGINX or BIG-IP Advanced WAF before NGINX njs to prevent malformed requests. Configure the WAF to do the following:\u003cul\u003e\u003cli\u003eValidate JSON syntax Enforce request body limits Block malformed payloads\u003c/li\u003e\u003cli\u003eReject unexpected content types Apply API schema validation\u003c/li\u003e\u003c/ul\u003e\u003c/li\u003e\u003c/ul\u003e\n\n\u003cbr\u003e"
                }
              ],
              "value": "*  To secure your NGINX njs js_access\u00a0handler against unhandled exceptions such as JSON.parse\u00a0failures, wrap your logic in a robust try/catch block with a default strict deny policy that returns an HTML 403 Forbidden response code. For example:async function auth(r) {\n\u00a0 try {\n\u00a0 \u00a0 // 1. Guard input: Safely check for the Authorization header\n\u00a0 \u00a0 var authHeader = r.headersIn ? r.headersIn.Authorization : undefined;\n\u00a0 \u00a0 if (!authHeader) {\n\u00a0 \u00a0 \u00a0 r.warn(\"Access Denied: Missing Authorization header.\");\n\u00a0 \u00a0 \u00a0 return r.return(401);\n\u00a0 \u00a0 }\n\u00a0 \u00a0 // 2. Perform the async HTTP request\n\u00a0 \u00a0 let reply = await ngx.fetch(\u0027 http://authsvc/check \u0027, {\n\u00a0 \u00a0 \u00a0 headers: { Authorization: authHeader }\n\u00a0 \u00a0 });\n\u00a0 \u00a0 // 3. Validate response status\n\u00a0 \u00a0 if (reply.status !== 200) {\n\u00a0 \u00a0 \u00a0 r.warn(`Access Denied: Auth service returned status ${reply.status}`);\n\u00a0 \u00a0 \u00a0 return r.return(401);\n\u00a0 \u00a0 }\n\u00a0 \u00a0 // 4. Read response body\n\u00a0 \u00a0 // Note: ngx.fetch body is read asynchronously using .text() or .json()\n\u00a0 \u00a0 let responseText = await reply.text();\n\u00a0 \u00a0 let payload = {};\n\u00a0 \u00a0 // 5. Guard JSON.parse explicitly\n\u00a0 \u00a0 try {\n\u00a0 \u00a0 \u00a0 payload = JSON.parse(responseText);\n\u00a0 \u00a0 } catch (jsonError) {\n\u00a0 \u00a0 \u00a0 r.error(`Security Warning: Failed to parse auth service JSON payload: ${jsonError.message}`);\n\u00a0 \u00a0 \u00a0 // Explicitly deny the request due to malformed auth response payload\n\u00a0 \u00a0 \u00a0 return r.return(403);\n\u00a0 \u00a0 }\n\u00a0 \u00a0 // 6. Validate the contents of the parsed JSON\n\u00a0 \u00a0 if (payload.authorized !== true) {\n\u00a0 \u00a0 \u00a0 r.warn(\"Access Denied: Client token validated but not authorized.\");\n\u00a0 \u00a0 \u00a0 return r.return(403);\n\u00a0 \u00a0 }\n\u00a0 \u00a0 // 7. Success: Explicitly allow the request to proceed\n\u00a0 \u00a0 return r.return(200);\n\u00a0 } catch (globalError) {\n\u00a0 \u00a0 // 8. Global Catch-All: Block the bypass vulnerability on any script exception\n\u00a0 \u00a0 r.error(`Security Critical: Unhandled exception in auth handler: ${globalError.toString()}`);\n\u00a0 \u00a0 // Always return 403 (Deny) on exception to guarantee a fail-closed state.\n\u00a0 \u00a0 return r.return(403);\n\u00a0 }\n}\nexport default { auth };\n\n\n  *  Place a security enforcement layer such as F5 WAF for NGINX or BIG-IP Advanced WAF before NGINX njs to prevent malformed requests. Configure the WAF to do the following:  *  Validate JSON syntax Enforce request body limits Block malformed payloads\n  *  Reject unexpected content types Apply API schema validation"
            }
          ],
          "x_generator": {
            "engine": "F5 SIRTBot v1.0"
          }
        }
      },
      "cveMetadata": {
        "assignerOrgId": "9dacffd4-cb11-413f-8451-fbbfd4ddc0ab",
        "assignerShortName": "f5",
        "cveId": "CVE-2026-18329",
        "datePublished": "2026-09-02T15:40:54.115Z",
        "dateReserved": "2026-07-29T19:42:43.485Z",
        "dateUpdated": "2026-09-02T17:56:59.397Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }

    CVE-2026-8711 (GCVE-0-2026-8711)

    Vulnerability from cvelistv5 – Published: 2026-05-19 14:04 – Updated: 2026-05-21 18:29 X_F5
    VLAI
    Title
    NGINX JavaScript vulnerability
    Summary
    NGINX JavaScript has a vulnerability when the js_fetch_proxy directive is configured with at least one client-controlled NGINX variable (for example, $http_*, $arg_*, $cookie_*) and a location invoking the ngx.fetch() operation from NGINX JavaScript. An unauthenticated attacker can exploit this vulnerability by sending crafted HTTP requests. This may cause a heap buffer overflow in the NGINX worker process leading to a restart. Additionally, attackers can execute code on systems with Address Space Layout Randomization (ASLR) disabled or when the attacker can bypass ASLR. Note: Software versions which have reached End of Technical Support (EoTS) are not evaluated.
    SSVC
    Exploitation: none Automatable: no Technical Impact: total
    CISA Coordinator · CISA-ADP (v2.0.3)
    Decision recorded 2026-05-19 00:00 UTC
    CWE
    • CWE-122 - Heap-based Buffer Overflow
    Assigner
    References
    Impacted products
    Vendor Product Version
    F5 NGINX JavaScript Affected: 0.9.4 , < 0.9.9 (custom)
    Create a notification for this product.
    Date Public
    2026-05-19 14:00
    Show details on NVD website

    {
      "containers": {
        "adp": [
          {
            "metrics": [
              {
                "other": {
                  "content": {
                    "id": "CVE-2026-8711",
                    "options": [
                      {
                        "Exploitation": "none"
                      },
                      {
                        "Automatable": "no"
                      },
                      {
                        "Technical Impact": "total"
                      }
                    ],
                    "role": "CISA Coordinator",
                    "timestamp": "2026-05-19T00:00:00+00:00",
                    "version": "2.0.3"
                  },
                  "type": "ssvc"
                }
              }
            ],
            "providerMetadata": {
              "dateUpdated": "2026-05-20T03:55:39.626Z",
              "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
              "shortName": "CISA-ADP"
            },
            "title": "CISA ADP Vulnrichment"
          }
        ],
        "cna": {
          "affected": [
            {
              "defaultStatus": "unknown",
              "modules": [
                "ngx_http_js_module"
              ],
              "product": "NGINX JavaScript",
              "vendor": "F5",
              "versions": [
                {
                  "lessThan": "0.9.9",
                  "status": "affected",
                  "version": "0.9.4",
                  "versionType": "custom"
                }
              ]
            }
          ],
          "credits": [
            {
              "lang": "en",
              "type": "reporter",
              "value": "\"F5 acknowledges udolemi (S2W) for bringing this issue to our attention and following the highest standards of coordinated disclosure.\""
            }
          ],
          "datePublic": "2026-05-19T14:00:00.000Z",
          "descriptions": [
            {
              "lang": "en",
              "supportingMedia": [
                {
                  "base64": false,
                  "type": "text/html",
                  "value": "\u003cspan style=\"background-color: rgb(255, 255, 255);\"\u003eNGINX JavaScript has a vulnerability when the \u003c/span\u003e\u003cstrong\u003ejs_fetch_proxy\u003c/strong\u003e\u003cspan style=\"background-color: rgb(255, 255, 255);\"\u003e\u0026nbsp;directive is configured with at least one client-controlled NGINX variable (for example, \u003c/span\u003e\u003cstrong\u003e$http_*\u003c/strong\u003e\u003cspan style=\"background-color: rgb(255, 255, 255);\"\u003e, \u003c/span\u003e\u003cstrong\u003e$arg_*\u003c/strong\u003e\u003cspan style=\"background-color: rgb(255, 255, 255);\"\u003e, \u003c/span\u003e\u003cstrong\u003e$cookie_*\u003c/strong\u003e\u003cspan style=\"background-color: rgb(255, 255, 255);\"\u003e) and a location invoking the ngx.fetch() operation from NGINX JavaScript. An unauthenticated attacker can exploit this vulnerability by sending crafted HTTP requests. This may cause a heap buffer overflow in the NGINX worker process leading to a restart. Additionally, attackers can execute code on systems with Address Space Layout Randomization (ASLR) disabled or when the attacker can bypass ASLR.\u003c/span\u003e \n\n\nNote: Software versions which have reached End of Technical Support (EoTS) are not evaluated."
                }
              ],
              "value": "NGINX JavaScript has a vulnerability when the js_fetch_proxy\u00a0directive is configured with at least one client-controlled NGINX variable (for example, $http_*, $arg_*, $cookie_*) and a location invoking the ngx.fetch() operation from NGINX JavaScript. An unauthenticated attacker can exploit this vulnerability by sending crafted HTTP requests. This may cause a heap buffer overflow in the NGINX worker process leading to a restart. Additionally, attackers can execute code on systems with Address Space Layout Randomization (ASLR) disabled or when the attacker can bypass ASLR. \n\n\nNote: Software versions which have reached End of Technical Support (EoTS) are not evaluated."
            }
          ],
          "metrics": [
            {
              "cvssV3_1": {
                "attackComplexity": "HIGH",
                "attackVector": "NETWORK",
                "availabilityImpact": "HIGH",
                "baseScore": 8.1,
                "baseSeverity": "HIGH",
                "confidentialityImpact": "HIGH",
                "integrityImpact": "HIGH",
                "privilegesRequired": "NONE",
                "scope": "UNCHANGED",
                "userInteraction": "NONE",
                "vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H",
                "version": "3.1"
              },
              "format": "CVSS",
              "scenarios": [
                {
                  "lang": "en",
                  "value": "GENERAL"
                }
              ]
            },
            {
              "cvssV4_0": {
                "Automatable": "NOT_DEFINED",
                "Recovery": "NOT_DEFINED",
                "Safety": "NOT_DEFINED",
                "attackComplexity": "HIGH",
                "attackRequirements": "PRESENT",
                "attackVector": "NETWORK",
                "baseScore": 9.2,
                "baseSeverity": "CRITICAL",
                "privilegesRequired": "NONE",
                "providerUrgency": "NOT_DEFINED",
                "subAvailabilityImpact": "NONE",
                "subConfidentialityImpact": "NONE",
                "subIntegrityImpact": "NONE",
                "userInteraction": "NONE",
                "valueDensity": "NOT_DEFINED",
                "vectorString": "CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N",
                "version": "4.0",
                "vulnAvailabilityImpact": "HIGH",
                "vulnConfidentialityImpact": "HIGH",
                "vulnIntegrityImpact": "HIGH",
                "vulnerabilityResponseEffort": "NOT_DEFINED"
              },
              "format": "CVSS",
              "scenarios": [
                {
                  "lang": "en",
                  "value": "GENERAL"
                }
              ]
            }
          ],
          "problemTypes": [
            {
              "descriptions": [
                {
                  "cweId": "CWE-122",
                  "description": "CWE-122 Heap-based Buffer Overflow",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-05-21T18:29:16.674Z",
            "orgId": "9dacffd4-cb11-413f-8451-fbbfd4ddc0ab",
            "shortName": "f5"
          },
          "references": [
            {
              "tags": [
                "vendor-advisory"
              ],
              "url": "https://my.f5.com/manage/s/article/K000161307"
            }
          ],
          "source": {
            "discovery": "EXTERNAL"
          },
          "tags": [
            "x_F5"
          ],
          "title": "NGINX JavaScript vulnerability",
          "x_generator": {
            "engine": "F5 SIRTBot v1.0"
          }
        }
      },
      "cveMetadata": {
        "assignerOrgId": "9dacffd4-cb11-413f-8451-fbbfd4ddc0ab",
        "assignerShortName": "f5",
        "cveId": "CVE-2026-8711",
        "datePublished": "2026-05-19T14:04:18.860Z",
        "dateReserved": "2026-05-15T20:10:29.764Z",
        "dateUpdated": "2026-05-21T18:29:16.674Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }