You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Falco is generating false positive Critical Fileless execution via memfd_create alerts for legitimate runc operations when running on Bottlerocket OS 1.30.0. This occurs because runc 1.1.15 (included in Bottlerocket 1.30.0) now uses memfd cloning instead of bind mounts for performance optimization, which triggers Falco's fileless execution detection. The change was introduced in runc 1.1.15 to address namespace_sem lock contention issues during high container churn. This is a known behavior change that has already affected other security tools - AWS GuardDuty encountered a similar issue (see bottlerocket-os/bottlerocket#4352).
For more details about the memfd cloning in runc, see the CHANGELOG in 1.1.15 and the relevant PR #4392.
How to reproduce it
Use eksctl to create an EKS cluster with Bottlerocket AMI (you can get the AMI ID using aws ssm get-parameter --name /aws/service/bottlerocket/aws-k8s-1.29/x86_64/1.30.0/image_id --region us-west-2 --query 'Parameter.Value' --output text):
System info: Linux version 6.1.119 (builder@buildkitsandbox) (x86_64-bottlerocket-linux-gnu-gcc (Buildroot 2024.02.8) 11.4.0, GNU ld (GNU Binutils) 2.41) #1 SMP PREEMPT_DYNAMIC Fri Dec 20 22:32:32 UTC 2024
Cloud provider: AWS EKS
OS: Bottlerocket OS 1.30.0
Kernel: 6.1.119
Installation method: Helm chart
Additional context
This issue affects all users of runc 1.1.15+ where Falco is deployed for security monitoring, not just Bottlerocket users. However, Bottlerocket 1.30.0's inclusion of runc 1.1.15 makes this particularly relevant for AWS EKS users.
The issue can be temporarily mitigated by adding runc to the known_memfd_execution_binaries list:
Consider adding runc to the default known_memfd_execution_binaries list in Falco's default ruleset, as this is now expected behavior for runc 1.1.15 and possibly newer versions.
The text was updated successfully, but these errors were encountered:
@Alwin-Stockinger Can you share your alert output? You may be able to cover that by overwriting the known_memfd_execution_processes macro by checking the proc.exepath against memfd:runc_cloned:/proc/self/exe.
customRules:
rules-allow-runc-memfd.yaml: |-
# Add runc to known binaries
- list: known_memfd_execution_binaries
items: [runc]
override:
items: append
# Add specific path conditions to existing macro
- macro: known_memfd_execution_processes
condition: or (proc.exepath = "memfd:runc_cloned:/proc/self/exe") or (proc.exe = "memfd:runc_cloned:/proc/self/exe")
override:
condition: append
Describe the bug
Falco is generating false positive
Critical Fileless execution via memfd_create
alerts for legitimate runc operations when running on Bottlerocket OS 1.30.0. This occurs because runc 1.1.15 (included in Bottlerocket 1.30.0) now uses memfd cloning instead of bind mounts for performance optimization, which triggers Falco's fileless execution detection. The change was introduced in runc 1.1.15 to address namespace_sem lock contention issues during high container churn. This is a known behavior change that has already affected other security tools - AWS GuardDuty encountered a similar issue (see bottlerocket-os/bottlerocket#4352).For more details about the memfd cloning in runc, see the CHANGELOG in 1.1.15 and the relevant PR #4392.
How to reproduce it
eksctl
to create an EKS cluster with Bottlerocket AMI (you can get the AMI ID usingaws ssm get-parameter --name /aws/service/bottlerocket/aws-k8s-1.29/x86_64/1.30.0/image_id --region us-west-2 --query 'Parameter.Value' --output text
):Expected behaviour
No alerts should be generated for legitimate runc operations using memfd_create.
Screenshots
Example of the false positive alert:
Environment
0.39.2
Linux version 6.1.119 (builder@buildkitsandbox) (x86_64-bottlerocket-linux-gnu-gcc (Buildroot 2024.02.8) 11.4.0, GNU ld (GNU Binutils) 2.41) #1 SMP PREEMPT_DYNAMIC Fri Dec 20 22:32:32 UTC 2024
6.1.119
Additional context
This issue affects all users of runc 1.1.15+ where Falco is deployed for security monitoring, not just Bottlerocket users. However, Bottlerocket 1.30.0's inclusion of runc 1.1.15 makes this particularly relevant for AWS EKS users.
The issue can be temporarily mitigated by adding runc to the
known_memfd_execution_binaries
list:Apply using:
Consider adding runc to the default
known_memfd_execution_binaries
list in Falco's default ruleset, as this is now expected behavior for runc 1.1.15 and possibly newer versions.The text was updated successfully, but these errors were encountered: