@@ -84,6 +84,7 @@ SIG Architecture for cross-cutting KEPs).
84
84
- [ Risks and Mitigations] ( #risks-and-mitigations )
85
85
- [ Feature not used] ( #feature-not-used )
86
86
- [ Compromised node] ( #compromised-node )
87
+ - [ Compromised resource driver plugin] ( #compromised-resource-driver-plugin )
87
88
- [ User permissions and quotas] ( #user-permissions-and-quotas )
88
89
- [ Usability] ( #usability )
89
90
- [ Design Details] ( #design-details )
@@ -576,6 +577,31 @@ driver vendor. Solutions like Akri which establish their own control plane and
576
577
then communicate with Kubernetes through the device plugin API already need to
577
578
address this.
578
579
580
+ #### Compromised resource driver plugin
581
+
582
+ This is the result of an attack against the resource driver, either from a
583
+ container which uses a resource exposed by the driver, a compromised kubelet
584
+ which interacts with the plugin, or through a successful attack against the
585
+ node which led to root access.
586
+
587
+ The resource driver plugin only needs read access to objects described in this
588
+ KEP, so compromising it does not interfere with dynamic resource allocation for
589
+ other drivers. It may need write access for [ CRDs that communicate or
590
+ coordinate resource
591
+ availability] ( #implementing-a-plugin-for-node-resources ) . This could be used to
592
+ attack scheduling involving the driver as outlined in the previous section.
593
+
594
+ A resource driver may need root access on the node to manage
595
+ hardware. Attacking the driver therefore may lead to root privilege
596
+ escalation. Ideally, driver authors should try to avoid depending on root
597
+ permissions and instead use capabilities or special permissions for the kernel
598
+ APIs that they depend on.
599
+
600
+ A resource driver may also need privileged access to remote services to manage
601
+ network-attached devices. Resource driver vendors and cluster administrators
602
+ have to consider what the effect of a compromise could be for that and how such
603
+ privileges could get revoked.
604
+
579
605
#### User permissions and quotas
580
606
581
607
Similar to generic ephemeral inline volumes, the [ ephemeral resource use
0 commit comments