← Back to CVE Explorer

CVE-2026-56740

Full vulnerability record from the local CVENow database.

Description

JLine is a Java library for handling console input. Prior to 3.30.14, 4.0.16, and 4.2.1, the JLine3 Telnet server remote-telnet module does not limit the number of environment variables a client may inject via the Telnet NEW-ENVIRON option, and TelnetIO.readNEVariables() in TelnetIO.java:1127-1180 stores each variable pair in a HashMap held by ConnectionData, allowing an unauthenticated attacker to flood unique variable pairs before the terminating IAC SE byte and exhaust JVM heap memory with an OutOfMemoryError. This issue is fixed in versions 3.30.14, 4.0.16, and 4.2.1.

Severity
HIGH
CVSS score
7.5 (v3.1)
Vulnerability status
Analyzed
Source identifier
Published
2026-07-17 22:17:57.153000
Last modified
2026-10-24 20:10:00.137000
View original CVE JSON
{
  "id": "CVE-2026-56740",
  "sourceIdentifier": "[email protected]",
  "published": "2026-07-17T22:17:57.153",
  "lastModified": "2026-10-24T20:10:00.137",
  "vulnStatus": "Analyzed",
  "cveTags": [],
  "descriptions": [
    {
      "lang": "en",
      "value": "JLine is a Java library for handling console input. Prior to 3.30.14, 4.0.16, and 4.2.1, the JLine3 Telnet server remote-telnet module does not limit the number of environment variables a client may inject via the Telnet NEW-ENVIRON option, and TelnetIO.readNEVariables() in TelnetIO.java:1127-1180 stores each variable pair in a HashMap held by ConnectionData, allowing an unauthenticated attacker to flood unique variable pairs before the terminating IAC SE byte and exhaust JVM heap memory with an OutOfMemoryError. This issue is fixed in versions 3.30.14, 4.0.16, and 4.2.1."
    },
    {
      "lang": "es",
      "value": "JLine es una biblioteca Java para manejar la entrada de consola. Antes de las versiones 3.30.14, 4.0.16 y 4.2.1, el módulo remote-telnet del servidor Telnet de JLine3 no limita el número de variables de entorno que un cliente puede inyectar a través de la opción Telnet NEW-ENVIRON, y TelnetIO.readNEVariables() en TelnetIO.java:1127-1180 almacena cada par de variables en un HashMap mantenido por ConnectionData, permitiendo a un atacante no autenticado inundar pares de variables únicos antes del byte IAC SE de terminación y agotar la memoria del montón de la JVM con un OutOfMemoryError. Este problema se ha solucionado en las versiones 3.30.14, 4.0.16 y 4.2.1."
    }
  ],
  "affected": [
    {
      "source": "[email protected]",
      "affectedData": [
        {
          "vendor": "jline",
          "product": "jline3",
          "versions": [
            {
              "version": "< 3.30.14",
              "status": "affected"
            },
            {
              "version": ">= 4.0.0, < 4.0.16",
              "status": "affected"
            },
            {
              "version": ">= 4.1.0, < 4.2.1",
              "status": "affected"
            }
          ]
        }
      ]
    }
  ],
  "metrics": {
    "cvssMetricV31": [
      {
        "source": "[email protected]",
        "type": "Secondary",
        "cvssData": {
          "version": "3.1",
          "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H",
          "baseScore": 7.5,
          "baseSeverity": "HIGH",
          "attackVector": "NETWORK",
          "attackComplexity": "LOW",
          "privilegesRequired": "NONE",
          "userInteraction": "NONE",
          "scope": "UNCHANGED",
          "confidentialityImpact": "NONE",
          "integrityImpact": "NONE",
          "availabilityImpact": "HIGH"
        },
        "exploitabilityScore": 3.9,
        "impactScore": 3.6
      }
    ],
    "ssvcV203": [
      {
        "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
        "ssvcData": {
          "timestamp": "2026-07-20T13:57:48.412665Z",
          "id": "CVE-2026-56740",
          "options": [
            {
              "exploitation": "poc"
            },
            {
              "automatable": "yes"
            },
            {
              "technicalImpact": "partial"
            }
          ],
          "role": "CISA Coordinator",
          "version": "2.0.3"
        }
      }
    ]
  },
  "weaknesses": [
    {
      "source": "[email protected]",
      "type": "Secondary",
      "description": [
        {
          "lang": "en",
          "value": "CWE-400"
        }
      ]
    }
  ],
  "configurations": [
    {
      "nodes": [
        {
          "operator": "OR",
          "negate": false,
          "cpeMatch": [
            {
              "vulnerable": true,
              "criteria": "cpe:2.3:a:jline:jline:*:*:*:*:*:*:*:*",
              "versionEndExcluding": "3.30.14",
              "matchCriteriaId": "7B951CA3-5A41-4A71-9C90-8377E53EC47A"
            },
            {
              "vulnerable": true,
              "criteria": "cpe:2.3:a:jline:jline:*:*:*:*:*:*:*:*",
              "versionStartIncluding": "4.0.0",
              "versionEndExcluding": "4.0.16",
              "matchCriteriaId": "0949B9BC-A091-477A-B578-92C86B0E5DE8"
            },
            {
              "vulnerable": true,
              "criteria": "cpe:2.3:a:jline:jline:*:*:*:*:*:*:*:*",
              "versionStartIncluding": "4.1.0",
              "versionEndExcluding": "4.2.1",
              "matchCriteriaId": "6431F876-039C-4BE1-ABE0-4BFCC22B6F49"
            }
          ]
        }
      ]
    }
  ],
  "references": [
    {
      "url": "https://github.com/jline/jline3/commit/0389f0ee6d0375901b602671ad5dafd4d1d4ee09",
      "source": "[email protected]",
      "tags": [
        "Patch"
      ]
    },
    {
      "url": "https://github.com/jline/jline3/commit/4ee3a73849ffb9a85ec748e4e8cd8f6d81f84f40",
      "source": "[email protected]",
      "tags": [
        "Patch"
      ]
    },
    {
      "url": "https://github.com/jline/jline3/commit/934f09e6128cee33c2b13d42b6e859c1ee2d194b",
      "source": "[email protected]",
      "tags": [
        "Patch"
      ]
    },
    {
      "url": "https://github.com/jline/jline3/pull/2000",
      "source": "[email protected]",
      "tags": [
        "Issue Tracking"
      ]
    },
    {
      "url": "https://github.com/jline/jline3/pull/2001",
      "source": "[email protected]",
      "tags": [
        "Issue Tracking"
      ]
    },
    {
      "url": "https://github.com/jline/jline3/releases/tag/4.0.16",
      "source": "[email protected]",
      "tags": [
        "Release Notes"
      ]
    },
    {
      "url": "https://github.com/jline/jline3/releases/tag/4.2.1",
      "source": "[email protected]",
      "tags": [
        "Release Notes"
      ]
    },
    {
      "url": "https://github.com/jline/jline3/releases/tag/jline-3.30.14",
      "source": "[email protected]",
      "tags": [
        "Release Notes"
      ]
    },
    {
      "url": "https://github.com/jline/jline3/security/advisories/GHSA-47qp-hqvx-6r3f",
      "source": "[email protected]",
      "tags": [
        "Exploit",
        "Vendor Advisory"
      ]
    },
    {
      "url": "https://github.com/jline/jline3/security/advisories/GHSA-47qp-hqvx-6r3f",
      "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
      "tags": [
        "Exploit",
        "Vendor Advisory"
      ]
    }
  ]
}