open-nomad/nomad/structs
Mahmood Ali 4b2ba62e35 acl: check ACL against object namespace
Fix a bug where a millicious user can access or manipulate an alloc in a
namespace they don't have access to.  The allocation endpoints perform
ACL checks against the request namespace, not the allocation namespace,
and performs the allocation lookup independently from namespaces.

Here, we check that the requested can access the alloc namespace
regardless of the declared request namespace.

Ideally, we'd enforce that the declared request namespace matches
the actual allocation namespace.  Unfortunately, we haven't documented
alloc endpoints as namespaced functions; we suspect starting to enforce
this will be very disruptive and inappropriate for a nomad point
release.  As such, we maintain current behavior that doesn't require
passing the proper namespace in request.  A future major release may
start enforcing checking declared namespace.
2019-10-08 12:59:22 -04:00
..
config connect: add unix socket to proxy grpc for envoy (#6232) 2019-09-03 08:43:38 -07:00
batch_future.go drain: refactor batch_future into its own file 2018-04-02 16:40:06 -07:00
batch_future_test.go drain: refactor batch_future into its own file 2018-04-02 16:40:06 -07:00
bitmap.go assign names 2017-07-07 12:03:11 -07:00
bitmap_test.go assign names 2017-07-07 12:03:11 -07:00
devices.go Initial implementation of device preemption 2018-11-15 11:09:26 -06:00
devices_test.go Split device accounter and allocator 2018-11-07 10:32:03 -08:00
diff.go structs: add taskgroup networks and services to plan diffs 2019-08-20 16:18:30 -04:00
diff_test.go client/connect: ConsulProxy LocalServicePort/Address (#6358) 2019-09-23 14:30:48 -04:00
errors.go acl: check ACL against object namespace 2019-10-08 12:59:22 -04:00
funcs.go allocs fit checks if devices get oversubscribed 2018-11-07 10:33:22 -08:00
funcs_test.go fix tests from introducing new struct fields 2019-07-31 01:03:16 -04:00
generate.sh codegen codecs for nomad structs 2019-05-01 12:42:55 -04:00
network.go cli: display group ports and address in alloc status command output (#6189) 2019-08-27 23:59:36 -04:00
network_test.go cli: display group ports and address in alloc status command output (#6189) 2019-08-27 23:59:36 -04:00
node.go Fix copying drivers 2018-04-16 15:45:51 -07:00
node_class.go Device hook and devices affect computed node class 2018-11-27 17:25:33 -08:00
node_class_test.go Device hook and devices affect computed node class 2018-11-27 17:25:33 -08:00
node_test.go fix issue when updating node events 2018-03-21 15:15:26 -04:00
operator.go Rename to match system scheduler config. 2019-05-03 14:06:12 -05:00
services.go client/connect: ConsulProxy LocalServicePort/Address (#6358) 2019-09-23 14:30:48 -04:00
services_test.go client/connect: ConsulProxy LocalServicePort/Address (#6358) 2019-09-23 14:30:48 -04:00
streaming_rpc.go spelling: requested 2018-03-11 18:43:21 +00:00
structs.go acl: check ACL against object namespace 2019-10-08 12:59:22 -04:00
structs_codegen.go Codecgen full package 2018-04-26 15:24:53 -07:00
structs_test.go config: Hoist volume.config.source into volume 2019-09-13 04:37:59 +02:00
testing.go Split device accounter and allocator 2018-11-07 10:32:03 -08:00
volumes.go config: Hoist volume.config.source into volume 2019-09-13 04:37:59 +02:00