brace-expansion: Large numeric range defeats documented `max` DoS protection
Moderate severity
GitHub Reviewed
Published
May 12, 2026
in
juliangruber/brace-expansion
•
Updated Jun 9, 2026
Description
Published to the GitHub Advisory Database
May 18, 2026
Reviewed
May 18, 2026
Published by the National Vulnerability Database
May 29, 2026
Last updated
Jun 9, 2026
The
maxoption was being applied too late:When expanding a single large numeric range like
{1..10000000}, the sequence generation loop generates all 10 million intermediate elements before themaxlimit is applied Withmax=10, the output is correctly limited to 10 items, but the process still allocates~505 MBand spends~800msbuilding the full intermediate array.Workaround
Ensure the string to be expanded doesn't contain more values than the desired
maxitem count.References