Summary
Firecracker is an open source virtualization technology that is purpose-built for creating and managing secure, multi-tenant container and function-based services. Firecracker runs in user space and uses the Linux Kernel-based Virtual Machine (KVM) to create microVMs. Each Firecracker microVM is further isolated with common Linux user-space security barriers by a companion program called "jailer." The jailer provides a second line of defense in case a user escapes from the microVM boundaries and it is released at each Firecracker version. An issue exists where, under certain circumstances, can allow an user to overwrite arbitrary files in the host filesystem.
Impact
A UNIX symbolic link following issue in the Jailer component in Firecracker version v1.13.1 and earlier and 1.14.0 on Linux may allow a local host user with write access to the pre-created Jailer directories to overwrite arbitrary host files via a symlink attack during the initialization copy at Jailer startup, if the Jailer is executed with root privileges.
Impacted versions: Firecracker version v1.13.1 and earlier and 1.14.0
Patches
This issue has been addressed in Firecracker version v1.14.1 and v1.13.2. We recommend upgrading to the latest version and ensuring any forked or derivative code is patched to incorporate the new fixes.
Workarounds
If users are unable to upgrade to Firecracker version v1.14.1 or v1.13.2, we recommend protecting the jailer folder using UNIX user permissions to restrict their access to only trusted users with these example commands.
chown <trusted user> <jail folder path>
chmod 700 <jail folder path>
References
If you have any questions or comments about this advisory, we ask that you contact AWS Security via our vulnerability reporting page or directly via email to aws-security@amazon.com.
Please do not create a public GitHub issue.
Acknowledgement
We would like to thank an Independent Security Researcher for collaborating on this issue through the coordinated vulnerability disclosure process.
Summary
Firecracker is an open source virtualization technology that is purpose-built for creating and managing secure, multi-tenant container and function-based services. Firecracker runs in user space and uses the Linux Kernel-based Virtual Machine (KVM) to create microVMs. Each Firecracker microVM is further isolated with common Linux user-space security barriers by a companion program called "jailer." The jailer provides a second line of defense in case a user escapes from the microVM boundaries and it is released at each Firecracker version. An issue exists where, under certain circumstances, can allow an user to overwrite arbitrary files in the host filesystem.
Impact
A UNIX symbolic link following issue in the Jailer component in Firecracker version v1.13.1 and earlier and 1.14.0 on Linux may allow a local host user with write access to the pre-created Jailer directories to overwrite arbitrary host files via a symlink attack during the initialization copy at Jailer startup, if the Jailer is executed with root privileges.
Impacted versions: Firecracker version v1.13.1 and earlier and 1.14.0
Patches
This issue has been addressed in Firecracker version v1.14.1 and v1.13.2. We recommend upgrading to the latest version and ensuring any forked or derivative code is patched to incorporate the new fixes.
Workarounds
If users are unable to upgrade to Firecracker version v1.14.1 or v1.13.2, we recommend protecting the jailer folder using UNIX user permissions to restrict their access to only trusted users with these example commands.
References
If you have any questions or comments about this advisory, we ask that you contact AWS Security via our vulnerability reporting page or directly via email to aws-security@amazon.com.
Please do not create a public GitHub issue.
Acknowledgement
We would like to thank an Independent Security Researcher for collaborating on this issue through the coordinated vulnerability disclosure process.