← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1674464] Re: Non-admin user incorrectly allowed to perform port binding actions

 

[Expired for neutron because there has been no activity for 60 days.]

** Changed in: neutron
       Status: Incomplete => Expired

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to neutron.
https://bugs.launchpad.net/bugs/1674464

Title:
  Non-admin user incorrectly allowed to perform port binding actions

Status in neutron:
  Expired
Status in OpenStack Security Advisory:
  Invalid

Bug description:
  Currently, 4 policy actions, defined as admin_only, are capable of
  being executed by a non-admin user from the CLI.

  The following 4 policy actions that are not being enforced correctly
  are defined as follows:

  "get_port:binding:vif_type": "rule:admin_only",
  "get_port:binding:vif_details": "rule:admin_only",
  "get_port:binding:host_id": "rule:admin_only",
  "get_port:binding:profile": "rule:admin_only"

  Scenario:

  1) Remove/clear all Neutron logs, e.g. rm /opt/stack/logs/*
  2a) EXPORT OS_USERNAME=demo (where demo is a user without admin role)
  2b) (Export any other environment variables needed to authenticate against Keystone)
  3) Execute (from CLI): neutron port-show --field binding:profile --field name --field id 9ca15405-1406-4726-8440-86f7083b4395

  Expected:
  403 Forbidden error (or something else like 404 Not Found).

  Actual:
  This incorrectly shows up:
  +-------+--------------------------------------+
  | Field | Value                                |
  +-------+--------------------------------------+
  | id    | 9ca15405-1406-4726-8440-86f7083b4395 |
  | name  |                                      |
  +-------+--------------------------------------+

  In addition, opening q-svc.log shows the following DEBUG message:
  "Enforcing rules: ['get_port:binding:profile']".

  NOTE: It may take a few seconds for this line to appear in the logs
  (close and re-open if not there).

  This means that the policy action was enforced, but did not work as
  intended.

  This same scenario can be repeated for the 3 other policy actions.

To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/1674464/+subscriptions