Skip to content

JLine 4.5.0

Latest

Choose a tag to compare

@gnodet gnodet released this 04 Nov 14:11
c8ecc11

JLine 4.5.0 brings four security fixes, two new features, twenty bug fixes, and a batch of maintenance improvements.

This release addresses four moderate-severity vulnerabilities: a heap overflow in the native CLibrary.ioctl() binding, world-readable editor temp files, history expansion applied to masked (password) input, and a multi-frame bypass of the NEW-ENVIRON variable limit in the Telnet server. It also hardens WebTerminal against DNS rebinding and clickjacking, and fixes a broad set of reader/terminal correctness issues contributed by the community.

🔒 Security Fixes

  • GHSA-p73x-fv3x-mvv6 — Prevent heap overflow in CLibrary.ioctl(int, long, int[]) (#2412) @gnodet
  • GHSA-7whq-538g-8928 — Create editor temp files with owner-only permissions (#2343) @uchiha-bug-hunter
  • GHSA-rcc3-r7r7-qvg2 — Skip history expansion for masked input (#2346) @uchiha-bug-hunter
  • GHSA-7qh2-r6cc-r47w — Enforce NEW-ENVIRON variable limit across frames to prevent memory exhaustion (#2415) @gnodet

✨ New Features

🐛 Bug Fixes

🧰 Maintenance

  • Make history trimming linear instead of quadratic (#2413) @ptweezy
  • Rework native library generation: Docker cross-compilation infrastructure with automated CI rebuild workflow and macOS crossbuild images (#2411) @gnodet
  • Unify OSC/non-OSC string states with belTerminatesString flag (#2372) @gnodet