Kubescape
v4.0.21Securityスキャン、修正、ポリシー、レポートの機能が広がり、正確性やRBAC、依存関係、スキャン結果に関する改善が加わっています。ファイル読み込みの制限や検証、匿名化、分析処理の見直しなど、セキュリティ面の強化も含まれます。
要対応 (16)
security
Helmテンプレートファイル読み込みの制限Helmテンプレートファイルの読み込みに上限と検証を設け、CWE-400につながる過剰な読み込みを防ぎます。security
Kustomizationファイル読み込みの制限Kustomizationファイルの読み込みに上限と検証を設け、CWE-400につながる過剰な読み込みを防ぎます。security
Terraformファイル読み込みの制限Terraformファイルの読み込みに上限と検証を設け、CWE-400によるサービス拒否を防ぎます。securityアーティファクトファイル読み込みの制限
setUseArtifactsFromで読み込むアーティファクトファイルに上限と検証を設け、CWE-400につながる過剰な読み込みを防ぎます。security無視ファイル読み込みの制限
LoadIgnoreFilePatternsで読み込む無視ファイルに上限と検証を設け、CWE-400につながる過剰な読み込みを防ぎます。securityレポートファイル読み込みの制限
レポートファイルの読み込みに上限と検証を設け、
CWE-400によるサービス拒否を防ぎます。securityマニフェストファイル読み込みの制限
GetFileStringで読み込むマニフェストファイルに上限と検証を設け、CWE-400につながる過剰な読み込みを防ぎます。securityマニフェスト読み込みとファイル種別の検証
applyFileChangesとreadManifestでのマニフェスト読み込みに上限を設け、通常ファイル以外の入力を拒否します。CWE-400にも対応します。securityポリシーファイル読み込みの制限
ポリシーファイルの読み込みに上限と検証を設け、
CWE-400によるサービス拒否を防ぎます。security例外ファイル読み込みの制限
例外ファイルの読み込みに上限と検証を設け、
CWE-400によるサービス拒否を防ぎます。securityYAMLマニフェストのデコードとファイル検証
NewPathLocationResolverでのYAMLマニフェストのデコード量に上限を設け、通常ファイルであることも検証します。CWE-400に対応します。securityテストケースファイル読み込みの制限
テストケースファイルの読み込みに上限と検証を設け、
CWE-400につながる過剰な読み込みを防ぎます。securityワークロードマニフェスト読み込みの制限
ワークロードマニフェストの読み込みに上限と検証を設け、
CWE-400によるサービス拒否を防ぎます。securityカスタムルールファイル読み込みの制限
カスタムルールファイルの読み込みに上限と検証を設け、
CWE-400によるサービス拒否を防ぎます。securityイメージ依存関係と
Go toolchainの更新脆弱性のあるイメージ依存関係と
Go toolchainを更新します。breaking
Clusterプレフィックスのフォールバック削除Clusterプレフィックスを使うフォールバックを削除します。
影響確認 (3)
breakingロール書き換えの許可におけるバインディングパスの必須化
ロール書き換えの許可を処理する場合に適用されます。
ロール書き換えの許可を処理する場合に適用されます。ロール書き換えの許可にバインディングパスを必須にします。
breakingフリートのドライラン拒否
--dry-runでフリートのドライランを実行する場合に適用されます。--dry-runでフリートのドライランを実行する場合に適用されます。フリートのドライランを拒否します。breakingリモートGitリポジトリのデフォルトをシャロークローンに変更
リモートGitリポジトリを使用する場合に適用されます。
リモートGitリポジトリを使用する場合に適用されます。リモートGitリポジトリをデフォルトでシャロークローンします。
その他の記録済み変更 103 件すべてfixes 86 · additions 14 · value changes 2 · constraints 1
fixes (86)
- * c6061d6611e3817dbb08a1d83152404f1a54f02a fix(anonymizer): anonymize RBAC relatedObjects to prevent ID leaks (#4793)
- * d23ff8dd76a3a229b2a7c8477658972e135e4773 fix(anonymizer): hide RBAC binding subject and role references (#4841)
- * 5ea0b36555d4c725600f4fe14333fdce335bc0f3 fix(anonymizer): hide and encrypt the exception audit (#4733)
- * bf12f2a45605522ced0a37967649e86999b1a3a7 fix(anonymizer): hide skipped manifest paths (#4734)
- * 32c20b8937cac618ee0c924bfa7ad7716c5e3e51 fix(anonymizer): keep each resource's identity through transactional anonymization (#4771)
- * 4d2702270e1953a9edde3e807c16d76b424ed95a fix(anonymizer): preserve empty evidence path resource IDs (#4788)
- * bad361c20e8b3537a02bedd2370585d8d13d2331 fix(cautils): fail the scan with the cause when the scanned Helm chart cannot be loaded (#4792)
- * 7d38c3cf5915c5502112626b65bdeff34f9664de fix(cautils): keep large integers exact in the YAML 1.1 fallback (#4807)
- * 7180566322ccbc0c41f0cc888d9037822310d758 fix(cautils): re-read an invalid file-scan manifest the way kubectl does (YAML 1.1) (#4758)
- * cac8639d6a670ad8a52dc734bffec35494157a4b fix(cautils): stop scanning raw templates of Helm charts that fail to render (#4770)
- * a0c17d217cf6c98b92d881c6993365f04e575e99 fix(cel): match "<resource>/*" admission rules against the object itself (#4830)
- * af2b3ef3c2a27e36ef8c8590898756d512e0f869 fix(cel): skip a validation whose variable does not compile, like any other compile error (#4643)
- * b21a7e59e822381c5f4797e61aaf1a14a38acb07 fix(cli): remove backticks that replace the value placeholder in flag help (#4631)
- * 0bffab627656fce1c5891f17af5b455e9870c390 fix(cmd/patch): clarify digest-pinned image error and validate whitespace flags (#4852)
- * 8e4a38b2661f14ec40669b7eb5f5ffba6969ebbe fix(config): bound file reads and reject non-regular inputs in scancontract and fleetconfig loaders (#4628) (#4630)
- * 28551669c8ec1843a5f1339b00c0a5af92d83aae fix(core): bound manifest and controls input reads in scan validation and incremental cache (CWE-400) (#4827)
- * 5a963bb5e51899542cd994b1a73a1c95c43ca5e0 fix(core): prevent nil pointer dereference in Diff, Download, Patch, and List (#4853)
- * b0bde3f2fe00d813ead357e3e737754f94fbc684 fix(diff): accept a scan report that has no results (#4730)
- * 4f2119a54e35caa13090a26240e9fc44793e374e fix(diff): preserve bare Windows drive output paths (#4787)
- * 97661e72a42ba1fa200db3067951991d7c311cae fix(diff): preserve true base and head statuses for incomparable findings (#4867)
- * b8b833a702bd12638bc3c175044ea2f0cf828e21 fix(diff): validate output flag and prevent silent fallback to stdout (#4781)
- * 6156367e74b20910f38baddc8e6bf4f86d2dbdd5 fix(exceptions): match merged exception scopes like the processor does (#4728)
- * 87b3655897b9187dd6dc7524b1ceefa3b46a6276 fix(exposure): don't report externalIPs on headless or ExternalName Services (#4633)
- * c763655c84efe210b9e0f3268ac34edc11088fd7 fix(exposure): exclude redirect-only HTTP backends (#4677)
- * db3ddfcb14662a20d361b57c6daf1a572b7d01d6 fix(exposure): guard nil index with undetermined exposure in ServiceExposure and safe receiver methods (#4780)
- * efb8d208fa8538e3b2ef67dc566aa285a18a4522 fix(fix): accept 'yes' in Kustomize overwrite confirmation prompt (#4650) (#4651)
- * f92debc0e98f05a227c556cffbc993275ab651ef fix(fix): load the --verify controls config before any write and print every verdict (#4791)
- * 361cefdd3149c0786dce8d8f9cb3222347ed4897 fix(fix): validate empty and whitespace output flags (#4795) (#4796)
- * d1560c4ee0de33bfe99206192d406a55f97a3d8c fix(fixhandler): guard autofix against stale manifests (#4625)
- * 8c361655b8c489a3b204cb0eb4f2ce674afe9595 fix(fixhandler): normalize a padded base path before storing it (#4822)
- * 2d4ed8f51cc441520f383f3c49a86bed385b503a fix(gitlab): type image-scan identifiers by their advisory, not always as CVE (#4843)
- * 1292904dbcbdbe130c145928d5a351133027179c fix(helm): resolve chart dependencies against values before rendering (#4703)
- * 7d7cf669f76220e06e6d0ea149c97da11dc224ee fix(httphandler): don't let an unparsable KS_ENABLE_HOST_SCANNER disable host sensor auto-detection (#4848)
- * 14d01893bf5f36115018de34798f185aedcd5256 fix(image): validate output safety upfront before pulling or scanning images (#4706)
- * 9a9e659c0d17439369f3d75308dbb2f2ff51cd30 fix(k8scveindex): bound local CVE feed file reads and reject non-regular files (CWE-400) (#4824)
- * a558d4b56f11c5b356a456efa7756d980a132131 fix(kustomize): restrict scanned file loads to their root (#4804)
- * 60706b4e3cc161301c3e1d449bcd290788b81bb9 fix(mapreconcile): never match an objectSelector on a CONNECT request (#4635)
- * c802361455d19db6d339f93cb159cfcb7361faea fix(mapreconcile): skip resources the apiserver exempts from all policies (#4637)
- * aaf3adb336213637ae6f648f8c9084874db6dc04 fix(mcpserver): anchor workspace reads to root (#4863)
- * caaa43fb7eb276dfa9e4ad260d145623e805dd25 fix(mcpserver): confine report_path, base_path and diff reports to --workspace (#4826)
- * 870c18de02893c2c4caf9e36834c0a0b6513fd85 fix(mcpserver): include Deployment revision exposure (#4763)
- * 3752275ca5567bf2388f4874284c499ea61f5e45 fix(mcpserver): keep a JSON manifest JSON in apply_remediation (#4732)
- * d385ab5017561813622f36cbc68884095661bc2a fix(mcpserver): keep envFrom ConfigMap exposure when an optional env ref may not resolve (#4660)
- * 84ead130c9904a31e58fdcac7688a167114ca985 fix(mcpserver): match Services that select one StatefulSet Pod by its identity labels (#4662)
- * 4e177f3ce160e9c8d2a00b0f574291f470fc5169 fix(mcpserver): reject a subresource passed inside resource (#4656)
- * 88cd1c46025429d48d8a9d476c67cfd98b116cae fix(mcpserver): report finite bind and escalate grants in analyze_rbac_escalation_paths (#4718)
- * 8525dc9168d673b1df3d580b33479bd661ba87f9 fix(networkpolicy): ignore fully excluded ipBlocks in ingress exposure (#4640)
- * 57b8375d15ee5e79888671e37dba5e2969b42dd5 fix(networkpolicy): rate open-ended namespace selectors as any-namespace (#4829)
- * 4accdec90688126fc3043b5ecedde42d258d04e9 fix(networkpolicy,exposure): read resources in ID order, not map order (#4658)
- * 6aa6ad5a015493a4cc5a19c30c0114c47dbc4b9f fix(networkpolicy,vulnexposure): guard nil index with default-allow reachability and ingress exposure (#4663)
- * 779c93b0a9d10eb0710596f6bf639883b6c9c584 fix(opa): restrict control Rego capabilities (#4803)
- * f30072c676b13c0df4caf16898c2258a2b28d57b fix(opaprocessor): evaluate C-0302 against the whole cluster when streaming (#4812)
- * 59583c3dd63e769051f6da50e4789885df7992a3 fix(opaprocessor): redact secrets in container args, probe headers and annotations (#4783)
- * ee7cf887029d46ea9b35968ce54a9d3b9285d93d fix(opaprocessor): redact the related objects a rule attaches to its result (#4857)
- * e9d55589825f4b254405e80ad51a7c705a9beff8 fix(opaprocessor): skip a control whose rule errors instead of failing the whole scan (#4832)
- * 5d72ece23bfec1a49246020efe0856ee1234be81 fix(patch): use secure temporary file for intermediate scan report (#4645) (#4647)
- * a46f7f08971730f151f61ec8ffb2684cb7451ccf fix(policy): propagate policy test output errors (#4646)
- * cc03e4df247250e5b0d2717a0f86858fd872462c fix(predict): enforce Cobra argument bounds on kubescape predict root command (#4667)
- * a61fd7b2403c943b4b75e9b3995cae9155085ece fix(printer): don't label file scans with the ambient kube context (#4821)
- * 9a1e4cadeba544cbfc55324ce20d6e6347940e2d fix(printer): include exception audit and namespace summaries in YAML output (#4719)
- * 8ab01ea5eb2d90595f95e3a5e21e0bdfffedce48 fix(printer): return an error when CSV or JSON has no posture report (#4862)
- * a29f14d7e005e506f42da0d23fc8d2249a2dfc25 fix(printer): show redacted instead of the scan's XXXXXX placeholder in evidence (#4670)
- * 9655e1cc369bcb133356cfd48fe3c927eea4a98b fix(prometheus): emit one resource series per RBAC subject in cluster scans (#4721)
- fix(prometheus): label resource metrics with their source file so copies stay distinct (#4678)
- fix(rbacgraph): model bind combined with an update of an existing binding (#4716)
- fix(reportcrypto): restore typed resource envelopes in DecryptReport (#4810)
- fix(resultshandling): guard against nil dereference in score, result, and output writers (#4858)
- fix(rules): count a create through resourceNames [""] in two RBAC rules (#4831)
- fix(rules): don't count a create narrowed by resourceNames as a create (#4762)
- fix(rules): match RBAC subjects that carry neither namespace nor apiGroup (#4800)
- fix(rules): match create and patch on a common resourceName and across roles (#4806)
- fix(rules): report get on pods/exec in weak-namespace-pod-rce-v1 (#4638)
- fix(rules): scope impersonation grants made through RoleBindings (#4675)
- fix(rules): treat list and watch on secrets as reading them (#4666)
- fix(sarif): give each image run its own category when there are several (#4723)
- fix(scan): check selector-resolved image paths alongside literal paths (#4743)
- fix(scan): prevent nil pointer panic on --dry-run
- fix(scan): prevent scan output from overwriting input manifests, baselines, and configuration files (#4606)
- fix(scan): reject image-only SBOM formats upfront on posture scans (#4856)
- fix(scan): retain literal manifest paths and reattach ScanImageContext docstring (#4736)
- fix(scan): stop a passing --dry-run from writing and gating an empty report (#4234)
- fix(vap): validate output flag and prevent silent fallback to stdout (#4664)
- fix(vapreconcile): do not over-credit binding coverage for namespaced resources lacking metadata.namespace (#4642)
- fix(vapreconcile): honor binding resource rules in coverage (#4724)
- fix: collect ownerless pods with hash labels (#4752)
- * ba790281450d5272e3196382e9328a1ab5bb188c fix(helmprovenance): resolve values paths in with blocks (#4582)
additions (14)
- * 2b04fbf1534aed6032299413045ef3c94b0cb5ce feat(core): reuse released policy store across scans (#4805)
- * c8ae6a9ce0be655aaef8cbb86c99cfe740b9d6af feat(fix): add --verify to check each fixed control with a rescan (#4765)
- * 7abce96b62c907a00c7c1d20e365e0c48139a2b1 feat(fix): export remediation changes as a unified diff with --output patch (#4753)
- * 599024ebad5b5d108adc92faf78ab0faeda64bab feat(kustomize): attribute each rendered resource to the file Kustomize read it from (#4797)
- * 682fd3daed85f0486c72c86d3a2bb6388b880f0d feat(mcpserver): add verify_remediation tool for local IaC (#4707)
- * 1d4f71bc3259e8109314b3dde1b86a810a0f5549 feat(policy): select the cases policy test runs with --run (#4778)
- * 3f3b7deea03b790d6d397468aef3d4e9158201a3 feat(policy): write policy test results as a JUnit XML report (#4814)
- * 471cae950dbb139e8ac7166bd38481f1890bf493 feat(printer): mark delete and review paths that do not resolve as unresolved under -E (#4794)
- * 803f6fa57c5a338cf2c4d747a61438e69bb979e6 feat(printer): print a kubectl command for each evidence path on clus… (#4754)
- * 3421c7e30bb12bb0b4bf64b2cef0993956a4a1a5 feat(printer): show current values for delete paths in --show-evidence (#4623)
- * 51cbf0eacd49d5fc6330395e28377dec93638eaf feat(watch): add a file watcher and a debounced, sequential scan scheduler (#4865)
- * 96fc884296dd92844b7f8c50fab6c00649af5dfe feat(watch): compare local manifest scans by stable resource identity (#4709)
- catalog ecosystem cluster-scoped kinds (#4726)
- * fb757b93b4be68049ca1ced29d78e6fcad52056f feat(fleet): add json schema for the fleet report (#4624)
value changes (2)
- fix(score): bump opa-utils to v0.0.318 to keep scoring past an unscorable framework (#4750)
- perf(opaprocessor): early cleanup of raw resource payloads during streaming evaluation (#4665)
constraints (1)
- * ffbbaa117c3263285f40c49438b896bec1ad1fd7 feat(scan): support user-authored ValidatingAdmissionPolicy YAML in --custom-rules (#4838)
対応が必要なリリースが出たときに、週次メールでお知らせします。 今回のセキュリティパッチと破壊的変更も、その一例です。