The GitHub Actions job "Java CI" on commons-jexl.git/JEXL-471 has succeeded. Run started by GitHub user henrib (triggered by henrib).
Head commit for run: 65d1f0c2370ebf0d380f28dfcdcad1bf8b1bceb6 / Henrib <[email protected]> JEXL-471 : Runtime hardening: Constrain BigInteger operations and ensure regex interruptibility 1. Make regex matching (=~ operator) interruptible * Wrap matched string in InterruptibleCharSequence * Samples Thread.isInterrupted() every 256 chars * Throws ArithmeticException -> JexlException.Cancel on interruption * Add length guard on regex patterns (max 2048 chars) 2. Enforce MathContext precision on BigInteger arithmetic * Move checkBigIntegerPrecision() outside try-catch in add()/subtract()/etc * Prevent ArithmeticException from being silently swallowed * Bounded results prevent memory exhaustion 3. Prevent O(n²) DoS from huge BigInteger literals at parse time * Cap literal digit count by MathContext.getPrecision() * Fallback to hardcoded 256-digit limit if no precision configured * NumberFormatException wraps as JexlException.Parsing Tests added: * testRegexMatchingInterruptible() * testRegexPatternTooLong() * testBigIntegerArithmeticPrecisionCap() * testBigIntegerLiteralTooLong() Co-Authored-By: Claude <[email protected]> Report URL: https://github.com/apache/commons-jexl/actions/runs/33317299449 With regards, GitHub Actions via GitBox
