2026-05-30 15:32CVE-2026-8594CPANSec
PUBLISHED5.2CWE-405CWE-407

Text::LineFold versions through 2019.001 for Perl duplicate the output based on the number of special break characters

Text::LineFold versions through 2019.001 for Perl duplicate the output based on the number of special break characters.

Text::LineFold splits the input string by specific line break characters (such as VT, FF and others) into segments, but applies the break function to the entire string, not just the segment.

A side effect of this is that the full input can be duplicated for each segment. Besides being incorrect, this can lead to unexpected resource consumption and possible denial of service.

Note that Text::LineFold is part of the Unicode-LineBreak distribution, which may have a higher version number than the module.

Problem type

Affected products

NEZUMI

Text::LineFold

<= 2019.001 - AFFECTED

References

JSON source

https://cveawg.mitre.org/api/cve/CVE-2026-8594
Click to expand
{
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "cveMetadata": {
    "cveId": "CVE-2026-8594",
    "assignerOrgId": "9b29abf9-4ab0-4765-b253-1875cd9b441e",
    "assignerShortName": "CPANSec",
    "dateUpdated": "2026-05-30T15:44:13.279Z",
    "dateReserved": "2026-05-14T11:54:55.248Z",
    "datePublished": "2026-05-30T15:32:30.449Z",
    "state": "PUBLISHED"
  },
  "containers": {
    "cna": {
      "providerMetadata": {
        "orgId": "9b29abf9-4ab0-4765-b253-1875cd9b441e",
        "shortName": "CPANSec",
        "dateUpdated": "2026-05-30T15:44:13.279Z"
      },
      "title": "Text::LineFold versions through 2019.001 for Perl duplicate the output based on the number of special break characters",
      "descriptions": [
        {
          "lang": "en",
          "value": "Text::LineFold versions through 2019.001 for Perl duplicate the output based on the number of special break characters.\n\nText::LineFold splits the input string by specific line break characters (such as VT, FF and others) into segments, but applies the break function to the entire string, not just the segment.\n\nA side effect of this is that the full input can be duplicated for each segment.  Besides being incorrect, this can lead to unexpected resource consumption and possible denial of service.\n\nNote that Text::LineFold is part of the Unicode-LineBreak distribution, which may have a higher version number than the module."
        }
      ],
      "affected": [
        {
          "vendor": "NEZUMI",
          "product": "Text::LineFold",
          "collectionURL": "https://cpan.org/modules",
          "packageName": "Unicode-LineBreak",
          "programFiles": [
            "lib/Text/LineFold.pm"
          ],
          "programRoutines": [
            {
              "name": "Text::LineFold::fold"
            }
          ],
          "repo": "https://github.com/hatukanezumi/Unicode-LineBreak/",
          "defaultStatus": "unaffected",
          "versions": [
            {
              "version": "0",
              "status": "affected",
              "versionType": "custom",
              "lessThanOrEqual": "2019.001"
            }
          ]
        }
      ],
      "problemTypes": [
        {
          "descriptions": [
            {
              "lang": "en",
              "description": "CWE-405 Asymmetric Resource Consumption (Amplification)",
              "cweId": "CWE-405",
              "type": "CWE"
            }
          ]
        },
        {
          "descriptions": [
            {
              "lang": "en",
              "description": "CWE-407 Inefficient Algorithmic Complexity",
              "cweId": "CWE-407",
              "type": "CWE"
            }
          ]
        }
      ],
      "references": [
        {
          "url": "https://metacpan.org/release/NEZUMI/Unicode-LineBreak-2019.001/source/lib/Text/LineFold.pm#L407-415"
        },
        {
          "url": "https://security.metacpan.org/patches/U/Unicode-LineBreak/2019.001/CVE-2026-8594-r1.patch",
          "tags": [
            "patch"
          ]
        },
        {
          "url": "https://github.com/hatukanezumi/Unicode-LineBreak/pull/6",
          "tags": [
            "issue-tracking"
          ]
        }
      ],
      "impacts": [
        {
          "capecId": "CAPEC-130",
          "descriptions": [
            {
              "lang": "en",
              "value": "CAPEC-130 Excessive Allocation"
            }
          ]
        }
      ],
      "workarounds": [
        {
          "lang": "en",
          "value": "Apply the patch."
        }
      ]
    }
  }
}