Security Advisories (1)
CVE-2026-8594 (2026-05-30)

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.

Changes for version 1.000.510

  • Fix: broken testin/th.in
  • Imp: Added QUESTIONABLE_NARROW_SIGNS constant.
  • Chg: $UNICODE_VERSION to constant UNICODE_VERSION
  • Fix: Sync options of Text::LineFold->new() with base class.

Changes for version 1.000_02

  • Fix: Correct Thai (th) tests.
  • Fix: Unassigned code points are given N, not A (except those of SIP are W).
  • Imp: strsize(): Now texts are broken at boundaries of graphame cluster.
  • Chg: SA characters are resolved by Grapheme_Cluster_Break property, as some suffixing vowels have General_Category Lo and some others have Grapheme_Cluster_Break Prepend property.
  • Added tests for incremental input.
  • Chg: Remove @LB_CLASSES which may not be used;
  • Chg: Remove NarrowAL and NSKanaAsID options: use TailorEA/TailorLB options.

Changes for version 1.000_01

  • Fix: broken non-XS strsize().
  • New: Added Thai word segmentation using libthai.

Documentation

プレインテキストの行折り
UAX #14 Unicode 行分割アルゴリズム

Modules

Line Folding for Plain Text
UAX #14 Unicode Line Breaking Algorithm

Provides

in lib/Unicode/LineBreak/Constants.pm
in lib/Unicode/LineBreak/Data.pm
in lib/Unicode/LineBreak/NoXS.pm
in lib/Unicode/LineBreak/Rules.pm
in lib/Unicode/LineBreak/Version.pm
in lib/Unicode/LineBreak/NoXS.pm