Falco
0.45.0Securityルール評価のセマンティクスが変わり、互換性に影響するリリースです。リロードやチャート機能の追加、運用上の修正、依存関係の更新、セキュリティ修正が含まれます。
要対応 (3)
securitypidfileのシンボリックリンク追跡防止
適用対象はリリースノートに明記されていません。
攻撃者が書き込み可能なディレクトリにpidfileのパスを置いた場合に、シンボリックリンクを利用したTOCTOUを防ぐため、pidfileを
O_NOFOLLOW付きで開くようになりました。securityカーネルモジュール読み込み時の
modprobe絶対パス使用カーネルモジュールの読み込みにフォールバックする際、
PATH検索ではなくmodprobeの絶対パスを使うようになりました。信頼できない検索パスによる問題(CWE-426)に対応しています。breakingルール条件の評価対象とUTF-8処理の変更
適用対象はリリースノートに明記されていません。
ルール条件を生のフィールドバイト列で評価するようになり、無効なUTF-8や表示できないUTF-8シーケンスも文字列演算子でマッチできるようになりました。単一バイトには新しい
\xHHエスケープを使えます。regexはサニタイズ済みの入力を処理し、出力時に表示できない文字をエスケープし、無効なUTF-8シーケンスを置換します。FALCO_ENGINE_VERSIONは0.から62. 0 0.に更新されました。非63. 0 regex演算子で置換文字にマッチしていたルールは見直しが必要です。
事前準備 (1)
deprecated
container_engines設定のスキーマ定義削除設定JSONスキーマから
container_enginesの残存定義が削除されました。このキーを設定している構成では、起動時にスキーマ検証の警告が記録されます。
その他の記録済み変更 20 件すべてfixes 13 · value changes 4 · additions 2 · constraints 1
fixes (13)
- fix(falco): no unsupported syscalls warning is printed anymore when replaying a capture [[#4003](https://github.com/falcosecurity/falco/pull/4003)] - [@leogr](https://github.com/leogr)
- fix(falco): the unsupported syscalls warning now points to
base_syscalls.instead of the removedall -Aflag [[#4001](https://github.com/falcosecurity/falco/pull/4001)] - [@leogr](https://github.com/leogr) - fix(packaging): restore Falco services and persistent kernel modules after upgrades, migrate package-default driver pins, and clean up package-created systemd state on removal [[#3994](https://github.com/falcosecurity/falco/pull/3994)] - [@leogr](https://github.com/leogr)
- fix(chart): always mount an emptyDir at /etc/falco/config.d, and bump the default falcoctl image to 0.14.1, the container plugin to 0.7.4, and the k8smeta plugin to 0.4.2 [[#3984](https://github.com/falcosecurity/falco/pull/3984)] - [@leogr](https://github.com/leogr)
- fix(chart): mount the container engine socket directories instead of the socket files, so Falco keeps working after a container runtime restart [[#3978](https://github.com/falcosecurity/falco/pull/3978)] - [@leogr](https://github.com/leogr)
- fix(chart): support DaemonSet revision history limits and honor an explicit zero for both DaemonSet and Deployment controllers. [[#3931](https://github.com/falcosecurity/falco/pull/3931)] - [@Goutham-Annem](https://github.com/Goutham-Annem)
- fix(chart): do not render the falcoctl config volume when falcoctl artifact install and follow are disabled [[#3894](https://github.com/falcosecurity/falco/pull/3894)] - [@immanuwell](https://github.com/immanuwell)
- fix(engine):
falco --listno longer incorrectly labels theevtfield class with a specific event source [[#3936](https://github.com/falcosecurity/falco/pull/3936)] - [@Wahid7852](https://github.com/Wahid7852) - fix(cmake): add support for 64K kernel page to jemalloc on aarch64 [[#3970](https://github.com/falcosecurity/falco/pull/3970)] - [@lekanjava](https://github.com/lekanjava)
- fix(chart): correct the inverted priority level mappings in the Grafana dashboard, so severity labels match Falco's numeric priorities (0=emergency ... 7=debug) [[#3932](https://github.com/falcosecurity/falco/pull/3932)] - [@Goutham-Annem](https://github.com/Goutham-Annem)
- fix(engine): correctly match wildcard patterns when the literal segment that follows a
*appears more than once in the input (e.g.*.againstyaml backup., or wildcardyaml. yaml enable/disableof rule names whose names repeat a literal segment). [[#3913](https://github.com/falcosecurity/falco/pull/3913)] - [@tejgokani](https://github.com/tejgokani) - fix: serve SIGHUP-triggered hot restart when
watch_config_filesis disabled [[#3939](https://github.com/falcosecurity/falco/pull/3939)] - [@c2ndev](https://github.com/c2ndev) - fix(engine): do not emit the
LOAD_NO_EVTTYPEwarning for rules with statically unsatisfiable conditions (e.g. thenever_trueplaceholder idiom) [[#3918](https://github.com/falcosecurity/falco/pull/3918)] - [@leogr](https://github.com/leogr)
value changes (4)
- feat(userspace/falco): suggest
--dry-runwhen--validatereceives a Falco configuration file [[#3947](https://github.com/falcosecurity/falco/pull/3947)] - [@AkashKumar7902](https://github.com/AkashKumar7902) - update(build): bump falcoctl to 0.14.2 [[#3996](https://github.com/falcosecurity/falco/pull/3996)] - [@leogr](https://github.com/leogr)
- bump the default falcoctl image to 0.14.1, the container plugin to 0.7.4, and the k8smeta plugin to 0.4.2
- The pidfile content now ends with a trailing newline
additions (2)
- new(chart): add
serviceAccount.to set custom labels on the ServiceAccount [[#3946](https://github.com/falcosecurity/falco/pull/3946)] - [@Goutham-Annem](https://github.com/Goutham-Annem)labels - feat(falco): Expose reload status through GET /reload and add optional reload control over a protected Unix socket on Linux. Preserve SIGHUP reception and pending requests across reloads. [[#4005](https://github.com/falcosecurity/falco/pull/4005)] - [@c2ndev](https://github.com/c2ndev)
constraints (1)
- update(chart): bump the falcosidekick subchart constraint to 0.14.* and the falco-talon subchart constraint to 0.4.* [[#3990](https://github.com/falcosecurity/falco/pull/3990)] - [@leogr](https://github.com/leogr)
対応が必要なリリースが出たときに、週次メールでお知らせします。 今回のセキュリティパッチと破壊的変更も、その一例です。