Tenants could potentially modify rules from not owned policies

Bug #1485993 reported by Miguel Angel Ajo
14
This bug affects 2 people
Affects Status Importance Assigned to Milestone
neutron
Fix Released
Undecided
yong sheng gong

Bug Description

In configurations where the policy creation is left open to the tenants by policy.json modification, this is possible:

a) Admin creates policy A, attaches Rule X
b) tenant creates policy B, modifies rule X via API.

AS ADMIN:

[vagrant@devstack ~]$ source ~/devstack/accrc/admin/admin
[vagrant@devstack ~]$ neutron qos-policy-create A --description "policy A"
Created a new policy:
+-------------+--------------------------------------+
| Field | Value |
+-------------+--------------------------------------+
| description | policy A |
| id | 98134993-746f-409b-89b2-f3487187f730 |
| name | A |
| rules | |
| shared | False |
| tenant_id | 1556829297534c378cad15feb8196012 |
+-------------+--------------------------------------+
[vagrant@devstack ~]$ neutron qos-bandwidth-limit-rule-create A --max_kbps 100
Created a new bandwidth_limit_rule:
+----------------+--------------------------------------+
| Field | Value |
+----------------+--------------------------------------+
| id | 4a548459-c10f-4bf1-88fe-d20e277f2b50 |
| max_burst_kbps | 0 |
| max_kbps | 100 |
+----------------+--------------------------------------+

AS REGULAR TENANT:

[vagrant@devstack ~]$ source ~/devstack/accrc/demo/demo
[vagrant@devstack ~]$ neutron qos-policy-create B --description "policy B"
Created a new policy:
+-------------+--------------------------------------+
| Field | Value |
+-------------+--------------------------------------+
| description | policy B |
| id | 2ec2b6e2-8427-4ffd-8ab1-f4a5d577e49b |
| name | B |
| rules | |
| shared | False |
| tenant_id | c931dc21a7a241fa80eaba0ba0a738c6 |
+-------------+--------------------------------------+
[vagrant@devstack ~]$ neutron qos-bandwidth-limit-rule-update 4a548459-c10f-4bf1-88fe-d20e277f2b50 B --max_kbps 222
Updated bandwidth_limit_rule: 4a548459-c10f-4bf1-88fe-d20e277f2b50
[vagrant@devstack ~]$ neutron qos-bandwidth-limit-rule-show 4a548459-c10f-4bf1-88fe-d20e277f2b50 B
+----------------+--------------------------------------+
| Field | Value |
+----------------+--------------------------------------+
| id | 4a548459-c10f-4bf1-88fe-d20e277f2b50 |
| max_burst_kbps | 0 |
| max_kbps | 222 |
+----------------+--------------------------------------+

Changed in neutron:
assignee: nobody → yong sheng gong (gongysh)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to neutron (master)

Fix proposed to branch: master
Review: https://review.openstack.org/216603

Changed in neutron:
status: New → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to neutron (master)

Reviewed: https://review.openstack.org/216603
Committed: https://git.openstack.org/cgit/openstack/neutron/commit/?id=c28b8a5ca6ddf1def9b74d4ceb98b9c7b192d696
Submitter: Jenkins
Branch: master

commit c28b8a5ca6ddf1def9b74d4ceb98b9c7b192d696
Author: gong yong sheng <gong.yongsheng@99cloud.net>
Date: Tue Aug 25 16:21:39 2015 +0800

    Add policy and policy rule belongs check

    before updating and deletion of a qos rule under a policy,
    we check if the qos is binding to the policy to avoid users
    operating on policy rules binding to other policy.

    Change-Id: I04723fa9dd37409cb211c35e701f352419b2d6fa
    Closes-bug: #1485993

Changed in neutron:
status: In Progress → Fix Committed
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to neutron (feature/pecan)

Fix proposed to branch: feature/pecan
Review: https://review.openstack.org/219887

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to neutron (feature/pecan)
Download full text (12.9 KiB)

Reviewed: https://review.openstack.org/219887
Committed: https://git.openstack.org/cgit/openstack/neutron/commit/?id=6f2849c91691a551447c2977ff0a1bead5d5d744
Submitter: Jenkins
Branch: feature/pecan

commit afd1983680aea739ef0e4b0ff2c07ab09c4a86fb
Author: armando-migliaccio <email address hidden>
Date: Tue Sep 1 15:45:50 2015 -0700

    Catch errors on 'port not found' while deleting subnet

    In some circumstances (like the one triggered by the test_dhcp_ipv6 testcase)
    calls to deleting a port and calls to deleting subnets can happen in straight
    sequence.

    If this happens the execution of the operations can interleave leading
    to the subnet deletion to fail because the port has already gone. This patch
    ensures a missing port is handled correctly.

    The method delete_subnet is ginormous and hence impossible to test at a unit
    level without proper refactoring. That can happen with a follow-up patch.

    Closes-bug: #1490832

    Change-Id: I80c3733c93b2b66c2a1c4bc3bc24272afdd88b1f

commit e27299c124d89145bf1bc23f057e1b124204235e
Author: Ihar Hrachyshka <email address hidden>
Date: Tue Sep 1 11:22:39 2015 +0200

    [rpc] pull: removed a hack to avoid object backport triggered

    Since oslo.versionedobjects 0.8.0, the object is not backported if the
    requested version is the same as the latest known.

    Change-Id: Ia1e9aa77b75261e4b2d2b24f31250ce2a2f028a7

commit 7ea38a14bd32a3697b2cd72be4c947aa19378185
Author: Pavel Bondar <email address hidden>
Date: Fri Jul 24 11:50:26 2015 +0300

    Enable py34 tests for pluggable ipam backend

    Enable neutron.tests.unit.db.test_ipam_pluggable_backend.
    It was disabled after extending ipam tests to run db_base_plugin tests,
    which are not py34 compatible yet.

    Change-Id: I3ae491fa79d4c3311a86e98db3fb2f7d5926a0ba

commit a9b72392a14a114a364785cd268f0f50615f43b0
Author: OpenStack Proposal Bot <email address hidden>
Date: Tue Sep 1 04:25:00 2015 +0000

    Updated from global requirements

    Change-Id: Ie5ad70b0afbeb5502cc41f585f6a3f2942203369

commit 28e54ef089e8b3eca8e86992340530948aec12b7
Author: sridhargaddam <email address hidden>
Date: Thu Aug 27 09:49:28 2015 +0000

    Fix import path in neutron-sanity-check for ml2_sriov opts

    neutron-sanity-check fails while importing ml2_sriov
    configuration. This patch fixes the import path and
    also includes a unit test to avoid such issues.

    Closes-Bug: #1489374
    Change-Id: I4265ee78be9e7f83e35c94187d4577b32005bef9

commit 61121c5f2af27e31092db7ac6947f796198410a8
Author: armando-migliaccio <email address hidden>
Date: Wed Jul 8 13:48:11 2015 -0700

    Decentralize the managemement of service providers

    After the service split, some of the configuration, parsing and
    validation was kept in the neutron core; ultimately this needs to
    get closer to the services where it belongs.

    This patch starts from ProviderConfiguration and ServiceTypeManager
    classes, and aims at removing the hard-coded elements, like the list
    of known advanced services, so that in the long run we can make
    Neutron ea...

tags: added: in-feature-pecan
Thierry Carrez (ttx)
Changed in neutron:
milestone: none → liberty-3
status: Fix Committed → Fix Released
Thierry Carrez (ttx)
Changed in neutron:
milestone: liberty-3 → 7.0.0
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.