github corazawaf/coraza v3.4.0

7 hours ago

What's Changed

Features

  • feat: allow selectors on *_NAMES collections by @blotus in #1143
  • feat: auditlog syslog writer by @Serjick in #1383
  • feat: add json schema improvements by @jcchavezs in #1384
  • feat: implement ctl:auditLogParts + and - for modifying audit logs by @fzipi in #1467
  • feat(strmatch): add new operator by @fzipi in #1473
  • feat: add optional rule observer callback to WAF config by @heaven in #1478
  • feat: add WAFWithRules interface with RulesCount() by @ppomes in #1492
  • feat: add SecRequestBodyJsonDepthLimit directive by @fzipi in #1110
  • feat: ignore unexpected EOF in MIME multipart request body processor by @hnakamur in #1453
  • feat: optimize ruleRemoveById range handling store ranges instead of expanding to int slices by @Copilot in #1538

Fixes

  • fix(go1.24): bump linter by @M4tteoP in #1330
  • fix(deps): update all non-major dependencies in .github/workflows/tinygo.yml by @renovate[bot] in #1326
  • fix(deps): update module github.com/mccutchen/go-httpbin/v2 to v2.18.0 in go.mod by @renovate[bot] in #1331
  • audit: H should populate also with error logs. by @M4tteoP in #1310
  • fix(deps): update module github.com/rs/zerolog to v1.34.0 in testing/coreruleset/go.mod by @renovate[bot] in #1332
  • fix(deps): update module golang.org/x/net to v0.38.0 in go.mod by @renovate[bot] in #1337
  • fixes misspelled build tag coraza.rule.multiphase_evaluation by @daum3ns in #1338
  • fix(deps): update module github.com/corazawaf/coraza-coreruleset/v4 to v4.10.0 in testing/coreruleset/go.mod by @renovate[bot] in #1341
  • fix(deps): update module golang.org/x/sync to v0.13.0 in go.mod by @renovate[bot] in #1344
  • fix(deps): update module golang.org/x/net to v0.39.0 in go.mod by @renovate[bot] in #1346
  • fix(deps): update go modules in go.mod by @renovate[bot] in #1354
  • fix(deps): update all non-major dependencies in .github/workflows/tinygo.yml by @renovate[bot] in #1342
  • fix: coraza.conf-recommended, stricter parsing actions by @M4tteoP in #1352
  • fix(deps): update go modules in go.mod by @renovate[bot] in #1372
  • fix: regenerate variables map to allow selection on all supported collections by @blotus in #1371
  • fix: nil deference on err.Error() by @ad3n in #1367
  • fix(deps): update all non-major dependencies in go.mod by @renovate[bot] in #1373
  • fix(deps): update module github.com/mccutchen/go-httpbin/v2 to v2.18.3 in go.mod by @renovate[bot] in #1374
  • fix(deps): update github.com/magefile/mage digest to 78acbaf in go.mod by @renovate[bot] in #1375
  • fix: resolve cutQuotedString issue with double backslashes (\) by @trgalho in #1364
  • fix(deps): update module github.com/corazawaf/coraza-coreruleset/v4 to v4.15.0 in testing/coreruleset/go.mod by @renovate[bot] in #1376
  • fix: wrong status returned when SecResponseBodyLimit is reached and Action is Reject by @daum3ns in #1379
  • fix(deps): update module golang.org/x/sync to v0.16.0 in go.mod by @renovate[bot] in #1385
  • fix(deps): update module golang.org/x/net to v0.42.0 in go.mod by @renovate[bot] in #1386
  • fix(deps): update module github.com/bmatcuk/doublestar/v4 to v4.9.0 in testing/coreruleset/go.mod by @renovate[bot] in #1388
  • fix(deps): update all non-major dependencies in testing/coreruleset/go.mod by @renovate[bot] in #1392
  • Fixed mandatory check of rule ID. by @brijeshjvalera in #1325
  • fix: cutQuotedString - not working for \"" by @trgalho in #1394
  • fix(deps): update module golang.org/x/net to v0.43.0 in go.mod by @renovate[bot] in #1397
  • fix: lowercase regex patterns for case-insensitive variable collections by @fzipi in #1505
  • fix: ctl:ruleRemoveTargetById to support whole-collection exclusion by @Copilot in #1495
  • fix: update constants for recursion limit by @jcchavezs in #1512
  • Fix HTTP middleware to process all Transfer-Encoding values by @Copilot in #1518
  • fix: set changed flag in removeComments and escapeSeqDecode by @jptosso in #1532
  • fix(testing): Correct use of ProcessURI in Benchmarks by @MarcWort in #1546
  • fix: typo in responseWriter name in TestWriteResponseBody by @hnakamur in #1451
  • fix: streamed responses by @daum3ns in #1449
  • fix: adds timeout to tinygo by @jcchavezs in #1463
  • fix: pass through respose body after process partial by @M4tteoP in #1461
  • fix: directive name is SecAuditLogsStorageDir by @fzipi in #1466
  • fix: SecRuleUpdateActionById should replace disruptive actions by @fzipi in #1471
  • fix(1482): improve quotes parsing during seclang bootstrap by @jptosso in #1486
  • fix(deps): update module golang.org/x/net to v0.45.0 [security] by @renovate[bot] in #1487
  • fix(deps): update module golang.org/x/sync to v0.20.0 in go.mod by @renovate[bot] in #1543

Tests

Chores and Other

  • chore(deps): update github/codeql-action digest to 1b549b9 in .github/workflows/codeql-analysis.yml by @renovate[bot] in #1335
  • chore: improves coraza.conf-recommended comments by @M4tteoP in #1334
  • chore: update tinygo 0.34.0 by @M4tteoP in #1353
  • Add @pmf short alias for @pmFromFile by @dmefs in #1356
  • Add @ipMatchF short alias for @ipMatchFromFile by @dmefs in #1357
  • chore(deps): update codecov/codecov-action digest to 18283e0 in .github/workflows/regression.yml by @renovate[bot] in #1359
  • chore(deps): update github/codeql-action digest to ff0a06e in .github/workflows/codeql-analysis.yml by @renovate[bot] in #1361
  • docs: add RuiQi to integrations list by @HUAHUAI23 in #1368
  • chore(deps): update all non-major dependencies in .github/workflows/tinygo.yml by @renovate[bot] in #1369
  • chore: add tx to context by @trgalho in #1345
  • Revert "chore: add tx to context" by @jcchavezs in #1378
  • chore(deps): update github/codeql-action digest to 39edc49 in .github/workflows/codeql-analysis.yml by @renovate[bot] in #1380
  • chore(deps): update module github.com/go-viper/mapstructure/v2 to v2.3.0 [security] by @renovate[bot] in #1381
  • chore(deps): update github/codeql-action digest to 181d5ee in .github/workflows/codeql-analysis.yml by @renovate[bot] in #1382
  • chore(deps): update github/codeql-action digest to d6bbdef in .github/workflows/codeql-analysis.yml by @renovate[bot] in #1390
  • chore(deps): update github/codeql-action digest to 4e828ff in .github/workflows/codeql-analysis.yml by @renovate[bot] in #1391
  • chore(deps): update github/codeql-action digest to 51f7732 in .github/workflows/codeql-analysis.yml by @renovate[bot] in #1393
  • chore(deps): update actions/cache digest to 0400d5f in .github/workflows/tinygo.yml by @renovate[bot] in #1396
  • chore(deps): update github/codeql-action digest to 76621b6 in .github/workflows/codeql-analysis.yml by @renovate[bot] in #1398
  • chore(deps): update actions/checkout action to v5 in .github/workflows/tinygo.yml by @renovate[bot] in #1401
  • chore(deps): update github/codeql-action digest to df55935 in .github/workflows/codeql-analysis.yml by @renovate[bot] in #1403
  • chore(deps): update dependency go to 1.25.x in .github/workflows/lint.yml by @renovate[bot] in #1405
  • chore(deps): update github/codeql-action digest to 96f518a in .github/workflows/codeql-analysis.yml by @renovate[bot] in #1407
  • chore(deps): update codecov/codecov-action digest to fdcc847 in .github/workflows/regression.yml by @renovate[bot] in #1408
  • chore(deps): update github/codeql-action digest to 3c3833e in .github/workflows/codeql-analysis.yml by @renovate[bot] in #1410
  • chore(deps): update module github.com/go-viper/mapstructure/v2 to v2.4.0 [security] by @renovate[bot] in #1411
  • chore(deps): update all non-major dependencies in .github/workflows/regression.yml by @renovate[bot] in #1419
  • chore(deps): update actions/setup-go action to v6 in .github/workflows/tinygo.yml by @renovate[bot] in #1420
  • chore(deps): update actions/stale action to v10 in .github/workflows/close-issues.yml by @renovate[bot] in #1422
  • chore(deps): update github/codeql-action action to v4 in .github/workflows/codeql-analysis.yml by @renovate[bot] in #1437
  • chore(deps): update actions/checkout action to v6 in .github/workflows/tinygo.yml by @renovate[bot] in #1442
  • Migrates golangci-lint to v2 by @M4tteoP in #1445
  • chore: run golang modernize by @M4tteoP in #1446
  • chore: increases the minimum go version by @jcchavezs in #1462
  • chore(deps): update module golang.org/x/crypto to v0.45.0 [security] by @renovate[bot] in #1443
  • chore: update libinjection-go and deps by @fzipi in #1496
  • chore: min go version to 1.25 by @M4tteoP in #1497
  • chore: remove panic from seclang compiler by @Copilot in #1514
  • ci: reduce regression matrix from 128 to 15 jobs by @jptosso in #1522
  • perf: use map for ruleRemoveByID for O(1) lookup by @jptosso in #1524
  • perf: prefix-based transformation cache with inline values by @fzipi in #1544
  • perf: bulk-allocate MatchData in collection Find methods by @jptosso in #1530
  • perf: use FindStringSubmatchIndex to avoid capture allocations by @jptosso in #1547
  • refactor: remove root package dependency on experimental by @fzipi in #1494
  • docs: update package and strmatch operators by @fzipi in #1477
  • docs(actions): update format and add package by @fzipi in #1475
  • doc: fix phase in ctl action example by @hnakamur in #1428
  • Add doc to directives by @hnakamur in #1434
  • Mark unimplemented SecAuditLogParts in docs by @louis-lau in #1455
  • docs: adds documentation to e2e package by @jcchavezs in #1460
  • chore: adds copilot instructions. by @jcchavezs in #1464
  • Replace "1GB" with "1GiB" in request/response body size limit by @hnakamur in #1418
  • Pre add testcase for streamed responses by @jcchavezs in #1459

New Contributors

Full Changelog: v3.3.3...v3.4.0

Don't miss a new coraza release

NewReleases is sending notifications on new releases.