Sangeetha Hariharan created CLOUDSTACK-6569:
-----------------------------------------------
Summary: IAM - Regular user is able to listNetworks of another
user in the same domain , by passing account and domainId.
Key: CLOUDSTACK-6569
URL: https://issues.apache.org/jira/browse/CLOUDSTACK-6569
Project: CloudStack
Issue Type: Bug
Security Level: Public (Anyone can view this level - this is the default.)
Components: IAM
Affects Versions: 4.4.0
Environment: Build from 4.4
Reporter: Sangeetha Hariharan
Priority: Critical
Fix For: 4.4.0
Regular user is able to listNetworks of another user in the same domain , by
passing account and domainId.
Domain - d1.
3 users in this domain , testd1 - domainadmin , testd1a and testd1b regular
users.
Each of the users have 1 isolated network.
As testd1a , tried to list network of testd1b by passing account and domainId.
ListNetwork returns testd1b's isolated network.
2014-05-02 10:21:29,090 INFO [a.c.c.a.ApiServer]
(catalina-exec-15:ctx-bbcf35b4 ctx-f1b42d4e) (userId=4 accountId=4
sessionId=AE73B9C62BB908DE5DE16655DAD0CB75) 10.215.2.8 -- GET
command=listNetworks&response=json&sessionkey=vHQRHlttApujok8Jf73KKKww5XM%3D&listAll=true&page=1&pagesize=20&domainid=3abd56e8-97da-40f9-b6f5-33fd5b28b43e&response=json&account=testD1B-TestNetworkList-KOGK49
200 { "listnetworksresponse" : { "count":4 ,"network" : [
{"id":"53a9ddfa-ab63-4f87-bdd0-e368e7fd11ca","name":"testD1B-TestNetworkList-KOGK49-network","displaytext":"testD1B-TestNetworkList-KOGK49-network","broadcastdomaintype":"Vlan","traffictype":"Guest","gateway":"10.1.1.1","netmask":"255.255.255.0","cidr":"10.1.1.0/24","zoneid":"b690dddf-5755-49ab-8a4d-0aff04fa39f7","zonename":"BLR1","networkofferingid":"fc25eb7b-d884-4cc3-acbb-a321817a3567","networkofferingname":"DefaultIsolatedNetworkOfferingWithSourceNatService","networkofferingdisplaytext":"Offering
for Isolated networks with Source Nat service
enabled","networkofferingconservemode":true,"networkofferingavailability":"Required","issystem":false,"state":"Implemented","related":"53a9ddfa-ab63-4f87-bdd0-e368e7fd11ca","dns1":"4.2.2.2","type":"Isolated","acltype":"Account","account":"testD1B-TestNetworkList-KOGK49","domainid":"3abd56e8-97da-40f9-b6f5-33fd5b28b43e","domain":"D1-R549ZO","service":[{"name":"PortForwarding"},{"name":"UserData"},{"name":"Firewall","capability":[{"name":"MultipleIps","value":"true","canchooseservicecapability":false},{"name":"SupportedEgressProtocols","value":"tcp,udp,icmp,
all","canchooseservicecapability":false},{"name":"SupportedProtocols","value":"tcp,udp,icmp","canchooseservicecapability":false},{"name":"SupportedTrafficDirection","value":"ingress,
egress","canchooseservicecapability":false},{"name":"TrafficStatistics","value":"per
public
ip","canchooseservicecapability":false}]},{"name":"Lb","capability":[{"name":"AutoScaleCounters","value":"[{\"methodname\":\"cpu\",\"paramlist\":[]},{\"methodname\":\"memory\",\"paramlist\":[]}]","canchooseservicecapability":false},{"name":"SupportedLBIsolation","value":"dedicated","canchooseservicecapability":false},{"name":"SupportedLbAlgorithms","value":"roundrobin,leastconn,source","canchooseservicecapability":false},{"name":"LbSchemes","value":"Public","canchooseservicecapability":false},{"name":"SupportedProtocols","value":"tcp,
udp","canchooseservicecapability":false},{"name":"SupportedStickinessMethods","value":"[{\"methodname\":\"LbCookie\",\"paramlist\":[{\"paramname\":\"cookie-name\",\"required\":false,\"isflag\":false,\"description\":\"
\"},{\"paramname\":\"mode\",\"required\":false,\"isflag\":false,\"description\":\"
\"},{\"paramname\":\"nocache\",\"required\":false,\"isflag\":true,\"description\":\"
\"},{\"paramname\":\"indirect\",\"required\":false,\"isflag\":true,\"description\":\"
\"},{\"paramname\":\"postonly\",\"required\":false,\"isflag\":true,\"description\":\"
\"},{\"paramname\":\"domain\",\"required\":false,\"isflag\":false,\"description\":\"
\"}],\"description\":\"This is loadbalancer cookie based stickiness
method.\"},{\"methodname\":\"AppCookie\",\"paramlist\":[{\"paramname\":\"cookie-name\",\"required\":false,\"isflag\":false,\"description\":\"
\"},{\"paramname\":\"length\",\"required\":false,\"isflag\":false,\"description\":\"
\"},{\"paramname\":\"holdtime\",\"required\":false,\"isflag\":false,\"description\":\"
\"},{\"paramname\":\"request-learn\",\"required\":false,\"isflag\":true,\"description\":\"
\"},{\"paramname\":\"prefix\",\"required\":false,\"isflag\":true,\"description\":\"
\"},{\"paramname\":\"mode\",\"required\":false,\"isflag\":false,\"description\":\"
\"}],\"description\":\"This is App session based sticky method. Define session
stickiness on an existing application cookie. It can be used only for a
specific http
traffic\"},{\"methodname\":\"SourceBased\",\"paramlist\":[{\"paramname\":\"tablesize\",\"required\":false,\"isflag\":false,\"description\":\"
\"},{\"paramname\":\"expire\",\"required\":false,\"isflag\":false,\"description\":\"
\"}],\"description\":\"This is source based Stickiness method, it can be used
for any type of
protocol.\"}]","canchooseservicecapability":false}]},{"name":"Dhcp","capability":[{"name":"DhcpAccrossMultipleSubnets","value":"true","canchooseservicecapability":false}]},{"name":"Dns","capability":[{"name":"AllowDnsSuffixModification","value":"true","canchooseservicecapability":false}]},{"name":"StaticNat"},{"name":"Vpn","capability":[{"name":"VpnTypes","value":"removeaccessvpn","canchooseservicecapability":false},{"name":"SupportedVpnTypes","value":"pptp,l2tp,ipsec","canchooseservicecapability":false}]},{"name":"SourceNat","capability":[{"name":"SupportedSourceNatTypes","value":"peraccount","canchooses
mysql> select * from account;
+----+----------------------------------+--------------------------------------+------+-----------+---------+---------+----------------+----------------+-----------------+---------+
| id | account_name | uuid
| type | domain_id | state | removed | cleanup_needed | network_domain |
default_zone_id | default |
+----+----------------------------------+--------------------------------------+------+-----------+---------+---------+----------------+----------------+-----------------+---------+
| 1 | system | 2c320fc2-d1eb-11e3-907f-4adf980f9414
| 1 | 1 | enabled | NULL | 0 | NULL |
NULL | 1 |
| 2 | admin | 2c324dfc-d1eb-11e3-907f-4adf980f9414
| 1 | 1 | enabled | NULL | 0 | NULL |
NULL | 1 |
| 3 | testD1-TestNetworkList-0SNBP5 | 53144728-76db-427a-ab96-5a6901e31a5e
| 2 | 2 | enabled | NULL | 0 | NULL |
NULL | 0 |
| 4 | testD1A-TestNetworkList-0Y3W33 | 196cc54c-4f4f-4bff-91ee-e084395eb388
| 0 | 2 | enabled | NULL | 0 | NULL |
NULL | 0 |
| 5 | testD1B-TestNetworkList-KOGK49 | 52d34195-f6be-482d-b8cb-effaf9d3bcc4
| 0 | 2 | enabled | NULL | 0 | NULL |
NULL | 0 |
--
This message was sent by Atlassian JIRA
(v6.2#6252)