[Yahoo-eng-team] [Bug 1813439] Re: an instance can see other instances' unicast packages when security group firewall_driver is openvswitch

2019-07-22 Thread Tristan Cacqueray
** Also affects: ossn
   Importance: Undecided
   Status: New

** No longer affects: ossn

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

Title:
  an instance can see other instances' unicast packages when security
  group firewall_driver is openvswitch

Status in neutron:
  Confirmed
Status in OpenStack Security Advisory:
  Incomplete

Bug description:
  We found that instances on the same host can see each others' unicast
  packages out to instances on the different host if these instances are
  on the same subnet when security group firewall_driver is openvswitch.

  # How to reproduce

  1. create 3 vms on the same subnet, no matter vlan or vxlan, called
  them vm1, vm2, vm3:

  vm1: 192.168.100.3 (compute 1)
  vm2: 192.168.100.12 (compute 1)
  vm3: 192.168.100.17 (compute 2)

  vm1 and vm2 are on the same host, while vm3 is on the other host.

  2. ping vm3 from vm2

  3. tcpdump eth0 on vm1, you will see icmp request packages from vm2 to
  vm3 are captured

  # tcpdump -enni eth0 icmp
  tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
  listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
  09:01:59.361792 fa:16:3e:8e:49:5c > fa:16:3e:8f:ca:a7, ethertype IPv4 
(0x0800), length 98: 192.168.100.12 > 192.168.100.17: ICMP echo request, id 
1145, seq 4, length 64
  09:02:00.361772 fa:16:3e:8e:49:5c > fa:16:3e:8f:ca:a7, ethertype IPv4 
(0x0800), length 98: 192.168.100.12 > 192.168.100.17: ICMP echo request, id 
1145, seq 5, length 64
  09:02:01.361785 fa:16:3e:8e:49:5c > fa:16:3e:8f:ca:a7, ethertype IPv4 
(0x0800), length 98: 192.168.100.12 > 192.168.100.17: ICMP echo request, id 
1145, seq 6, length 64
  09:02:02.361798 fa:16:3e:8e:49:5c > fa:16:3e:8f:ca:a7, ethertype IPv4 
(0x0800), length 98: 192.168.100.12 > 192.168.100.17: ICMP echo request, id 
1145, seq 7, length 64

  4. ping vm2 from vm3

  5. tcpdump eth0 on vm1, you will see icmp reply packages from vm2 to
  vm3 are captured

  # tcpdump -enni eth0 icmp
  tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
  listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
  09:03:39.608748 fa:16:3e:8e:49:5c > fa:16:3e:8f:ca:a7, ethertype IPv4 
(0x0800), length 98: 192.168.100.12 > 192.168.100.17: ICMP echo reply, id 1144, 
seq 3, length 64
  09:03:40.609475 fa:16:3e:8e:49:5c > fa:16:3e:8f:ca:a7, ethertype IPv4 
(0x0800), length 98: 192.168.100.12 > 192.168.100.17: ICMP echo reply, id 1144, 
seq 4, length 64
  09:03:41.609444 fa:16:3e:8e:49:5c > fa:16:3e:8f:ca:a7, ethertype IPv4 
(0x0800), length 98: 192.168.100.12 > 192.168.100.17: ICMP echo reply, id 1144, 
seq 5, length 64

  TCP/UDP packages have the same problem, this will have performance
  issue and security problem on the production. This will not happen
  when the security group firewall driver is iptables_hybrid or disable
  port security.

  # Versions

  I am testing this on N and R release, both have the same problem, the
  R release neutron package versions are:

  openstack-neutron-ml2-13.0.2-1.el7.noarch
  openstack-neutron-openvswitch-13.0.2-1.el7.noarch
  python2-neutronclient-6.9.1-1.el7.noarch
  openstack-neutron-common-13.0.2-1.el7.noarch
  openstack-neutron-fwaas-13.0.1-1.el7.noarch
  openstack-neutron-13.0.2-1.el7.noarch
  openstack-neutron-lbaas-13.0.0-1.el7.noarch
  python2-neutron-lib-1.18.0-1.el7.noarch
  python-neutron-lbaas-13.0.0-1.el7.noarch
  python-neutron-13.0.2-1.el7.noarch
  python-neutron-fwaas-13.0.1-1.el7.noarch

  and the operating system and kernel are:

  [root@node-30 ~]# cat /etc/redhat-release
  CentOS Linux release 7.5.1804 (Core)

  [root@node-30 ~]# uname -a
  Linux node-30 3.10.0-862.9.1.el7.x86_64 #1 SMP Mon Jul 16 16:29:36 UTC 2018 
x86_64 x86_64 x86_64 GNU/Linux

  and the openvswitch version is :

  openvswitch-2.9.0-3.el7.x86_64

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

-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to : yahoo-eng-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp


[Yahoo-eng-team] [Bug 1837339] Re: CIDR's of the form 12.34.56.78/0 should be an error

2019-07-22 Thread Tristan Cacqueray
According to the VMT's taxonomy ( https://security.openstack.org/vmt-
process.html#incident-report-taxonomy ) this seems like a class D.

** Also affects: ossn
   Importance: Undecided
   Status: New

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Dashboard (Horizon).
https://bugs.launchpad.net/bugs/1837339

Title:
  CIDR's of the form 12.34.56.78/0 should be an error

Status in OpenStack Dashboard (Horizon):
  New
Status in OpenStack Security Advisory:
  Incomplete
Status in OpenStack Security Notes:
  New

Bug description:
  The problem is that some users do not understand how CIDRs work, and
  incorrectly use /0 when they are trying to specify a single IP or a
  subnet in an Access Rule.  Unfortunately 12.34.56.78/0 means the same
  thing as 0.0.0.0/0.

  The proposed fix is to insist that /0 only be used with 0.0.0.0/0 and
  the IPv6 equivalent ::/0 when entering or updating Access Rule CIDRs
  in via the dashboard.

  I am labeling this as a security vulnerability since it leads to naive
  users creating instances with ports open to the world when they didn't
  intend to do that.

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

-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to : yahoo-eng-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp


[Yahoo-eng-team] [Bug 1813439] Re: an instance can see other instances' unicast packages when security group firewall_driver is openvswitch

2019-01-26 Thread Tristan Cacqueray
Since this report concerns a possible security risk, an incomplete
security advisory task has been added while the core security reviewers
for the affected project or projects confirm the bug and discuss the
scope of any vulnerability along with potential solutions.

Is this a mis-configuration from neutron or is it an ovs issue?

** Also affects: ossa
   Importance: Undecided
   Status: New

** Changed in: ossa
   Status: New => Incomplete

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

Title:
  an instance can see other instances' unicast packages when security
  group firewall_driver is openvswitch

Status in neutron:
  New
Status in OpenStack Security Advisory:
  Incomplete

Bug description:
  We found that instances on the same host can see each others' unicast
  packages out to instances on the different host if these instances are
  on the same subnet when security group firewall_driver is openvswitch.

  # How to reproduce

  1. create 3 vms on the same subnet, no matter vlan or vxlan, called
  them vm1, vm2, vm3:

  vm1: 192.168.100.3 (compute 1)
  vm2: 192.168.100.12 (compute 1)
  vm3: 192.168.100.17 (compute 2)

  vm1 and vm2 are on the same host, while vm3 is on the other host.

  2. ping vm3 from vm2

  3. tcpdump eth0 on vm1, you will see icmp request packages from vm2 to
  vm3 are captured

  # tcpdump -enni eth0 icmp
  tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
  listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
  09:01:59.361792 fa:16:3e:8e:49:5c > fa:16:3e:8f:ca:a7, ethertype IPv4 
(0x0800), length 98: 192.168.100.12 > 192.168.100.17: ICMP echo request, id 
1145, seq 4, length 64
  09:02:00.361772 fa:16:3e:8e:49:5c > fa:16:3e:8f:ca:a7, ethertype IPv4 
(0x0800), length 98: 192.168.100.12 > 192.168.100.17: ICMP echo request, id 
1145, seq 5, length 64
  09:02:01.361785 fa:16:3e:8e:49:5c > fa:16:3e:8f:ca:a7, ethertype IPv4 
(0x0800), length 98: 192.168.100.12 > 192.168.100.17: ICMP echo request, id 
1145, seq 6, length 64
  09:02:02.361798 fa:16:3e:8e:49:5c > fa:16:3e:8f:ca:a7, ethertype IPv4 
(0x0800), length 98: 192.168.100.12 > 192.168.100.17: ICMP echo request, id 
1145, seq 7, length 64

  4. ping vm2 from vm3

  5. tcpdump eth0 on vm1, you will see icmp reply packages from vm2 to
  vm3 are captured

  # tcpdump -enni eth0 icmp
  tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
  listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
  09:03:39.608748 fa:16:3e:8e:49:5c > fa:16:3e:8f:ca:a7, ethertype IPv4 
(0x0800), length 98: 192.168.100.12 > 192.168.100.17: ICMP echo reply, id 1144, 
seq 3, length 64
  09:03:40.609475 fa:16:3e:8e:49:5c > fa:16:3e:8f:ca:a7, ethertype IPv4 
(0x0800), length 98: 192.168.100.12 > 192.168.100.17: ICMP echo reply, id 1144, 
seq 4, length 64
  09:03:41.609444 fa:16:3e:8e:49:5c > fa:16:3e:8f:ca:a7, ethertype IPv4 
(0x0800), length 98: 192.168.100.12 > 192.168.100.17: ICMP echo reply, id 1144, 
seq 5, length 64

  TCP/UDP packages have the same problem, this will have performance
  issue and security problem on the production. This will not happen
  when the security group firewall driver is iptables_hybrid or disable
  port security.

  # Versions

  I am testing this on N and R release, both have the same problem, the
  R release neutron package versions are:

  openstack-neutron-ml2-13.0.2-1.el7.noarch
  openstack-neutron-openvswitch-13.0.2-1.el7.noarch
  python2-neutronclient-6.9.1-1.el7.noarch
  openstack-neutron-common-13.0.2-1.el7.noarch
  openstack-neutron-fwaas-13.0.1-1.el7.noarch
  openstack-neutron-13.0.2-1.el7.noarch
  openstack-neutron-lbaas-13.0.0-1.el7.noarch
  python2-neutron-lib-1.18.0-1.el7.noarch
  python-neutron-lbaas-13.0.0-1.el7.noarch
  python-neutron-13.0.2-1.el7.noarch
  python-neutron-fwaas-13.0.1-1.el7.noarch

  and the operating system and kernel are:

  [root@node-30 ~]# cat /etc/redhat-release
  CentOS Linux release 7.5.1804 (Core)

  [root@node-30 ~]# uname -a
  Linux node-30 3.10.0-862.9.1.el7.x86_64 #1 SMP Mon Jul 16 16:29:36 UTC 2018 
x86_64 x86_64 x86_64 GNU/Linux

  and the openvswitch version is :

  openvswitch-2.9.0-3.el7.x86_64

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

-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to : yahoo-eng-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp


[Yahoo-eng-team] [Bug 1742102] Re: Simple user can disable compute

2018-05-31 Thread Tristan Cacqueray
Since this report concerns a possible security risk, an incomplete
security advisory task has been added while the core security reviewers
for the affected project or projects confirm the bug and discuss the
scope of any vulnerability along with potential solutions.

** Also affects: ossa
   Importance: Undecided
   Status: New

** Changed in: ossa
   Status: New => Incomplete

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/1742102

Title:
  Simple user can disable compute

Status in OpenStack Compute (nova):
  In Progress
Status in OpenStack Security Advisory:
  Incomplete

Bug description:
  Hi,

  When I tested a fresh deploy of Pike, I created a private network with
  a little subnet like /28. If you try to create a lot of new instances,
  nova failed because which doesn't have free IP for the creation of new
  instances.

  The fail trace is  https://thepasteb.in/p/zmh8qDG2ZYJIZ

  So after that, the trigger consecutive_build_service_disable_threshold
  up to 10 very fast and computes are disable.

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

-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to : yahoo-eng-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp


[Yahoo-eng-team] [Bug 1774527] Re: Too many errors can trigger compute failed_builds to get incremented

2018-05-31 Thread Tristan Cacqueray
*** This bug is a duplicate of bug 1742102 ***
https://bugs.launchpad.net/bugs/1742102

** Also affects: ossa
   Importance: Undecided
   Status: New

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/1774527

Title:
  Too many errors can trigger compute failed_builds to get incremented

Status in OpenStack Compute (nova):
  New
Status in OpenStack Security Advisory:
  New

Bug description:
  So let's analyze what can cause a compute managers failed_builds to
  get incremented and point out that some of them should not be causing
  failed_builds to get incremented (which then can have the 'nice'
  effect of auto-disabling a nova-compute service).

  So the return code of self._do_build_and_run_instance returns a result
  code; the catch of all exceptions also triggers the setting of a
  result code to failed; when this is failed it will cause the
  failed_build counter to get incremented.

  Some unrelated to nova-compute exceptions that from reading the code
  can trigger this to happen:

  - Unable to base64 decode injected files.
  - Failure of notify_about_instance_create to actually send (some inner 
exception perhaps?)
  - exception.NoMoreNetworks, exception.NoMoreFixedIps
  - exception.FlavorDiskTooSmall, exception.FlavorMemoryTooSmall,
    exception.ImageNotActive, exception.ImageUnacceptable,
    exception.InvalidDiskInfo, exception.InvalidDiskFormat,
    cursive_exception.SignatureVerificationError,
    exception.VolumeEncryptionNotSupported, exception.InvalidInput,
    exception.RequestedVRamTooHigh --- these bubble up as BuildAbortException
  - exception.InstanceNotFound, exception.UnexpectedDeletingTaskStateError
  - Anything that pops out of _build_resources
     - Failed to allocate network

  And many more?

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

-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to : yahoo-eng-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp


[Yahoo-eng-team] [Bug 1711117] Re: paste_deploy flavor in sample configuration file shows misleading default

2017-12-17 Thread Tristan Cacqueray
** Also affects: ossn
   Importance: Undecided
   Status: New

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

Title:
  paste_deploy flavor in sample configuration file shows misleading
  default

Status in Glance:
  New
Status in OpenStack Security Advisory:
  Won't Fix
Status in OpenStack Security Notes:
  New

Bug description:
  The "flavor" option of the "[paste_deploy]" section defaults to
  "None", but the sample configuration and documentation [1] suggests
  that it is "keystone". This can lead to unsecure deployments without
  authentication. The "glance-api.conf" file shows the following:

  #
  # Deployment flavor to use in the server application pipeline.
  #
  # Provide a string value representing the appropriate deployment
  # flavor used in the server application pipleline. This is typically
  # the partial name of a pipeline in the paste configuration file with
  # the service name removed.
  #
  # For example, if your paste section name in the paste configuration
  # file is [pipeline:glance-api-keystone], set ``flavor`` to
  # ``keystone``.
  #
  # Possible values:
  # * String value representing a partial pipeline name.
  #
  # Related Options:
  # * config_file
  #
  #  (string value)
  #flavor = keystone

  This is misleading and can lead operators to think that the default
  flavor being used is "keystone", but this is not the case:

  DEBUG glance.common.config [-] paste_deploy.flavor=
  None log_opt_values /usr/lib/python2.7/dist-
  packages/oslo_config/cfg.py:2626

  Previously, in Mitaka, the flavor was defined something like this:

  # Partial name of a pipeline in your paste configuration file with the
  # service name removed. For example, if your paste section name is
  # [pipeline:glance-api-keystone] use the value "keystone" (string
  # value)
  #flavor = 

  Therefore, somebody upgrading from a previous version would think that
  the default is now set to "keystone" instead of "None". In such cases
  the operator could remove the "flavor=keystone" definition, assuming
  that the default value is correct.

  Moreover, the configuration reference states that the default is
  "keystone" [1], but this is not the case as the option does not set a
  default vale, but a sample default [2]

  [1] 
https://docs.openstack.org/glance/latest/configuration/glance_api.html#paste_deploy
  [2] 
https://github.com/openstack/glance/blob/c4b0fbe632f759b00a1c326c17a05f134e93553d/glance/common/config.py#L33

  Taking into account that if the flavor for paste is not set this will
  lead to a deployment without authentication.

  If the sample default is different from the actual default, this
  should be stated clearly in the comment for that option.

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

-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to : yahoo-eng-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp


[Yahoo-eng-team] [Bug 1736674] Re: sg rules are sometimes not applied

2017-12-06 Thread Tristan Cacqueray
Since this report concerns a possible security risk, an incomplete
security advisory task has been added while the core security reviewers
for the affected project or projects confirm the bug and discuss the
scope of any vulnerability along with potential solutions.

** Also affects: ossa
   Importance: Undecided
   Status: New

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

Title:
  sg rules are sometimes not applied

Status in neutron:
  New
Status in OpenStack Security Advisory:
  New

Bug description:
  Failure of negative test in gate:

  http://logs.openstack.org/19/523319/5/check/neutron-tempest-plugin-
  scenario-linuxbridge/47b85c6/job-
  output.txt.gz#_2017-12-01_23_09_02_843619

  Reproducing locally with a debug patch, I see that iptables_manager
  first applies the correct rules and then removes them again
  immediately after that, see http://paste.openstack.org/show/628245/

  Steps to reproduce (taken from
  
neutron_tempest_plugin.scenario.test_security_groups.NetworkDefaultSecGroupTest.test_ip_prefix_negative,
  possibly not minimal):

  - create two security groups
  - add ssh access to first, icmp access to second one
  - create an instance with these two security groups applied
  - run iptables-save and discover no rules applied to the instance

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

-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to : yahoo-eng-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp


[Yahoo-eng-team] [Bug 1708580] Re: ovsfw ignores port_ranges under some conditions

2017-11-05 Thread Tristan Cacqueray
IWAMOTO, I guess you could use this definition:
https://cve.mitre.org/about/terminology.html#vulnerability

Then regarding the OSSA task, we don't issue advisories for experimental
feature, and if I understand correctly, ovsfw is still
experimental/incomplete. Thus if it's not a class D, then it is at best
a class B3.

I have created an OSSN task to discuss the scope of this bug, perhaps it
could use a security note.

** Also affects: ossn
   Importance: Undecided
   Status: New

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

Title:
  ovsfw ignores port_ranges under some conditions

Status in neutron:
  Fix Released
Status in OpenStack Security Advisory:
  Incomplete
Status in OpenStack Security Notes:
  New

Bug description:
  ovsfw ignores port_ranges when protocol is not literal udp or tcp.
  sctp and numeric protocol values don't work and result in too permissive 
filtering.

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

-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to : yahoo-eng-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp


[Yahoo-eng-team] [Bug 1708580] Re: ovsfw ignores port_ranges under some conditions

2017-08-22 Thread Tristan Cacqueray
Since this report concerns a possible security risk, an incomplete
security advisory task has been added while the core security reviewers
for the affected project or projects confirm the bug and discuss the
scope of any vulnerability along with potential solutions.

Back in Mitaka, OVS was an experimental security groups driver. Is it
deemed production ready in Newton ?

** Also affects: ossa
   Importance: Undecided
   Status: New

** Changed in: ossa
   Status: New => Incomplete

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

Title:
  ovsfw ignores port_ranges under some conditions

Status in neutron:
  In Progress
Status in OpenStack Security Advisory:
  Incomplete

Bug description:
  ovsfw ignores port_ranges when protocol is not literal udp or tcp.
  sctp and numeric protocol values don't work and result in too permissive 
filtering.

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

-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to : yahoo-eng-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp


[Yahoo-eng-team] [Bug 1668503] Re: sha512_crypt is insufficient, use pbkdf2_sha512 for password hashing

2017-08-14 Thread Tristan Cacqueray
Adding OSSN task based on comment #3

** Also affects: ossn
   Importance: Undecided
   Status: New

** Changed in: ossa
   Status: Incomplete => Won't Fix

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Identity (keystone).
https://bugs.launchpad.net/bugs/1668503

Title:
  sha512_crypt is insufficient, use pbkdf2_sha512 for password hashing

Status in OpenStack Identity (keystone):
  Fix Released
Status in OpenStack Identity (keystone) mitaka series:
  Won't Fix
Status in OpenStack Identity (keystone) newton series:
  Won't Fix
Status in OpenStack Identity (keystone) ocata series:
  Won't Fix
Status in OpenStack Identity (keystone) pike series:
  Fix Released
Status in OpenStack Security Advisory:
  Won't Fix
Status in OpenStack Security Notes:
  New

Bug description:
  Keystone uses sha512_crypt for password hashing. This is insufficient
  and provides limited protection (even with 10,000 rounds) against
  brute-forcing of the password hashes (especially with FPGAs and/or GPU
  processing).

  The correct mechanism is to use bcrypt, scrypt, or pbkdf2_sha512
  instead of sha512_crypt.

  This bug is marked as public security as bug #1543048 has already
  highlighted this issue.

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

-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to : yahoo-eng-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp


[Yahoo-eng-team] [Bug 1703369] Re: get_identity_providers policy should be singular

2017-07-11 Thread Tristan Cacqueray
I've added an OSSN task to see if a Security Note would make more sense
here since this is kind of an insecure default config value (class B2).

** Also affects: ossn
   Importance: Undecided
   Status: New

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Identity (keystone).
https://bugs.launchpad.net/bugs/1703369

Title:
  get_identity_providers policy should be singular

Status in OpenStack Identity (keystone):
  In Progress
Status in OpenStack Identity (keystone) newton series:
  New
Status in OpenStack Identity (keystone) ocata series:
  New
Status in OpenStack Security Advisory:
  Incomplete
Status in OpenStack Security Notes:
  New

Bug description:
  identity:get_identity_providers should be
  identity:get_identity_provider (singular) since a GET is targeted on a
  single provider and the code is setup to check for
  identity:get_identity_provider (singular). See
  
https://github.com/openstack/keystone/blob/c7e29560b7bf7a44e44722eea0645bf18ad56af3/keystone/federation/controllers.py#L112

  found in master (pike)

  The ocata default policy.json also has this problem. Unless someone
  manually overrode policy to specify identity:get_identity_provider
  (singular), the result would be that the default rule was actually
  used for that check instead of identity:get_identity_providers. We
  could go back and fix the default policy.json for past releases, but
  the default actually has the same value as
  identity:get_identity_providers, and if nobody has complained it's
  probably safer to just leave it. It is, after all, just defaults there
  and anyone can override by specifying the correct value.

  But we must fix in pike to go along with the shift of policy into
  code. Policy defaults in code definitely need to match up with what
  the code actually checks. There should no longer be any reliance on
  the default rule.

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

-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to : yahoo-eng-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp


[Yahoo-eng-team] [Bug 1618615] Re: Potential information disclosure in EC2 "credentials"

2017-05-23 Thread Tristan Cacqueray
Switched to public security, closed the OSSA task and added an OSSN task
based on above comments.


** Description changed:

- This issue is being treated as a potential security risk under embargo.
- Please do not make any public mention of embargoed (private) security
- vulnerabilities before their coordinated publication by the OpenStack
- Vulnerability Management Team in the form of an official OpenStack
- Security Advisory. This includes discussion of the bug or associated
- fixes in public forums such as mailing lists, code review systems and
- bug trackers. Please also avoid private disclosure to other individuals
- not already approved for access to this information, and provide this
- same reminder to those who are made aware of the issue prior to
- publication. All discussion should remain confined to this private bug
- report, and any proposed fixes should be added to the bug as
- attachments.
- 
- 
  When creating a "credential" in Keystone, instead of using uuid.uuid4()
  like in most places to generate a unique identifier, the id is created
  from the SHA256 hash value of whatever is passed in as the "access" key
  in the POST request (Code here:
  
https://github.com/openstack/keystone/blob/master/keystone/credential/controllers.py#L36-L60)
  
  = EXAMPLE REQUEST =
  
  POST /v3/credentials HTTP/1.1
  Host: [ENDPOINT]
  X-Auth-Token: [ADMIN TOKEN]
  Content-Length: 231
  Content-Type: application/json
  
  {
  "credential": {
  "blob": 
"{\"access\":\"alert(2)\",\"secret\":\"secretKey\"}",
  "project_id": "12345",
  "type": "ec2",
  "user_id": "12345"
  }
  }
  
  HTTP/1.1 201 Created
  Date: Tue, 30 Aug 2016 19:14:54 GMT
  Server: Apache/2.4.7 (Ubuntu)
  Vary: X-Auth-Token
  Content-Length: 383
  Content-Type: application/json
  
  {"credential": {"user_id": "12345", "links": {"self":
  
"[ENDPOINT]/v3/credentials/141ce7a938b5973dd71c90bcdd7e4097317ee7374259cf6d8774fdfd86c1f8ea"},
  "blob":
  "{\"access\":\"alert(2)\",\"secret\":\"secretKey\"}",
  "project_id": "12345", "type": "ec2", "id":
  "141ce7a938b5973dd71c90bcdd7e4097317ee7374259cf6d8774fdfd86c1f8ea"}}
  
  = /EXAMPLE =
  
  The id from the example above is
  "141ce7a938b5973dd71c90bcdd7e4097317ee7374259cf6d8774fdfd86c1f8ea",
  which is the same as the SHA256 value of "alert(2)"
  (you can test this with `echo -n "alert(2)" | openssl
  dgst -sha256` on *nix)
  
  The documentation here seems to show MD5s and possibly tenant IDs used
  as "access" values: http://developer.openstack.org/api-
  ref/identity/v3/?expanded=assign-role-to-user-on-projects-owned-by-
  domain-detail,create-policy-detail,show-credential-details-detail,list-
  credentials-detail,create-credential-detail#list-credentials
  
  Bruteforcing an actual MD5 isn't a huge security risk (i.e. trying to
  predict all 32 characters from thin air), but if the MD5 is a hash of a
  known value (i.e. the string "admin"), it would be trivial to test for
  common values:
  
  md5(admin) = 21232f297a57a5a743894a0e4a801fc3
  sha256(21232f297a57a5a743894a0e4a801fc3) = 
465c194afb65670f38322df087f0a9bb225cc257e43eb4ac5a0c98ef5b3173ac
  
  If tenant IDs are used, this task becomes even easier: just generate
  SHA256 hashes for 0 - 99
  
  A non-admin user can determine whether there are credentials using a
  given access key by attempting to access the resource from its sha256
  url identifier:
  
  = EXAMPLE REQUESTS =
  
  Existing credential
  
  GET 
/v3/credentials/141ce7a938b5973dd71c90bcdd7e4097317ee7374259cf6d8774fdfd86c1f8ea
 HTTP/1.1
  Host: [ENDPOINT]
  X-Auth-Token: [NON-ADMIN TOKEN]
  Content-Type: application/json
  Connection: close
  
  HTTP/1.1 403 Forbidden
  Date: Tue, 30 Aug 2016 19:55:24 GMT
  Server: Apache/2.4.7 (Ubuntu)
  Vary: X-Auth-Token
  Content-Length: 140
  Content-Type: application/json
  
  {"error": {"message": "You are not authorized to perform the
  requested action: identity:get_credential", "code": 403, "title":
  "Forbidden"}}
  
  Non-existent credential
  
  GET /v3/credentials/deadbeef HTTP/1.1
  Host: [ENDPOINT]
  X-Auth-Token: [NON-ADMIN TOKEN]
  Content-Type: application/json
  
  HTTP/1.1 404 Not Found
  Date: Tue, 30 Aug 2016 20:03:38 GMT
  Server: Apache/2.4.7 (Ubuntu)
  Vary: X-Auth-Token
  Content-Length: 96
  Content-Type: application/json
  
  {"error": {"message": "Could not find credential: deadbeef", "code":
  404, "title": "Not Found"}}
  
  = /EXAMPLE =
  
  It is also possible to get a 500 error by creating a credential with an
  invalid character in the "access" key:
  
  = EXAMPLE REQUEST =
  
  POST /v3/credentials HTTP/1.1
  Host: [ENDPOINT]
  X-Auth-Token: [ADMIN TOKEN]
  Content-Length: 212
  Content-Type: application/json
  
  {
  

[Yahoo-eng-team] [Bug 1682062] Re: Nova polcy allows all users with same tenant to delete/resize servers with all roles (viewer, non-admin roles)

2017-04-12 Thread Tristan Cacqueray
Since this report concerns a possible security risk, an incomplete
security advisory task has been added while the core security reviewers
for the affected project or projects confirm the bug and discuss the
scope of any vulnerability along with potential solutions.

** Also affects: ossa
   Importance: Undecided
   Status: New

** Changed in: ossa
   Status: New => Incomplete

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/1682062

Title:
  Nova polcy allows all users with same tenant to delete/resize servers
  with all roles (viewer, non-admin roles)

Status in OpenStack Compute (nova):
  New
Status in OpenStack Security Advisory:
  Incomplete

Bug description:
  Nova policies mention the rule as "admin_or_owner" for critical
  compute operations such as resize, update, create_server, reboot etc,
  which basically should be allowed ONLY for ADMIN OR OWNER of the
  server instance. But current nova policy allows all users
  (irrespective of admin, viewer, member) to perform these operations.

  For eg: If User1 (member user) creates an instance(eg test_server)
  under demo tenant and User2 (viewer user) is able to resize
  test_server or delete test_server, whereas User2 should be allowed to
  ONLY VIEW test_server and not able to perform any operation.

  Although Openstack users can update the custom policy.py/policy.json files, 
the naming convention is a misnomer as it says ADMIN_OR_OWNER which is a big 
security vulnerability. We need to change the default behavior of Nova 
operations to allow only following scenarios
  1. ONLY Admin belonging to the tenant should create/update/resize/delete 
server instances
  2. OWNER User who created the Instance should be able to 
create/update/resize/delete server instances.

  Apart from above scenarios, we should not allow any other user to
  perform such critical operations even as a default operation for NOVA.

  stack@devstack:~/devstack$ nova show test_server_pk
  /usr/local/lib/python2.7/dist-packages/novaclient/client.py:278: UserWarning: 
The 'tenant_id' argument is deprecated in Ocata and its use may result in 
errors in future releases. As 'project_id' is provided, the 'tenant_id' 
argument will be ignored.
warnings.warn(msg)
  
+--++
  | Property | Value
  |
  
+--++
  | OS-DCF:diskConfig| MANUAL   
  |
  | OS-EXT-AZ:availability_zone  | nova 
  |
  | OS-EXT-STS:power_state   | 1
  |
  | OS-EXT-STS:task_state| -
  |
  | OS-EXT-STS:vm_state  | active   
  |
  | OS-SRV-USG:launched_at   | 2017-04-12T08:42:59.00   
  |
  | OS-SRV-USG:terminated_at | -
  |
  | accessIPv4   |  
  |
  | accessIPv6   |  
  |
  | config_drive |  
  |
  | created  | 2017-04-11T12:09:23Z 
  |
  | description  | -
  |
  | flavor   | ds512M (d1)  
  |
  | hostId   | 
87b5e4756d250749a8c02c0afa91c37ae08654b85c3a46903767b78d   |
  | id   | b209b443-0a94-407f-aa5b-a0ce8d426add 
  |
  | image| cirros-0.3.4-x86_64-uec 
(f4e982cb-5d76-4782-bf90-172a067fbf11) |
  | key_name | -
  |
  | locked   | False
  |
  | metadata | {}   
  |
  | name | test_server_pk   
  |
  | os-extended-volumes:volumes_attached | []   
  |
  | private network  

[Yahoo-eng-team] [Bug 1649248] Re: Glance image upload wizard does not restrict invalid image files

2017-03-14 Thread Tristan Cacqueray
Opening this report and adding an OSSN task based on above comments.

** Description changed:

- This issue is being treated as a potential security risk under embargo.
- Please do not make any public mention of embargoed (private) security
- vulnerabilities before their coordinated publication by the OpenStack
- Vulnerability Management Team in the form of an official OpenStack
- Security Advisory. This includes discussion of the bug or associated
- fixes in public forums such as mailing lists, code review systems and
- bug trackers. Please also avoid private disclosure to other individuals
- not already approved for access to this information, and provide this
- same reminder to those who are made aware of the issue prior to
- publication. All discussion should remain confined to this private bug
- report, and any proposed fixes should be added to the bug as
- attachments.
- 
- --
- 
  An unrestricted file upload exists when an application allows users to upload 
files without proper validation. glance fails to properly validate image files 
across four key factors including file extension, mime-type, size, and upload 
frequency. In addition, glance does not appear to scan uploaded files for known 
malware.
  Failing to restrict file uploads affects the security of the OpenStack 
environment in a number of ways. Attacker may commonly use file upload 
functionality to upload viruses or malware onto trusted servers. In addition to 
spreading malware, attacker can upload source code files (.aspx and .jsp for 
example) which may be rendered as valid application pages to end users. 
Additionally, if users are able to upload files of any size or at any 
frequency, an attacker may abuse this functionality to exhaust the server’s 
disk space.
  
  Steps To Reproduce:
  1. Login to the OpenStack as an admin
  2. Click on Images tab and create a new image by uploading a EICAR text file 
with anti-malware string (EICAR anti-malware test file can be downloaded from 
http://www.eicar.org/ )
  3. Observe that file is uploaded successfully without any pre-checks being 
done.
  
  The application should validate uploaded files for type and size, and
  limit how often the user is able to perform uploads. The following
  validation can be performed:
  
  a) If the application requires uploaded files to be of a specific type such 
as img, vmdk, the application should validate the extension.
  b) The first four bytes of the file i.e. Magic Numbers can be validated. 
These first few bytes are known as the file’s ‘Magic Number’ and will uniquely 
identify the file type. For example all PDF files start with the byte-sequence 
‘%PDF’.
  c) An upper limit on file size can be enforced.
  
  In addition to the primary criteria above, all uploaded files should be
  scanned for known malware/viruses.

** Changed in: ossa
   Status: Incomplete => Won't Fix

** Information type changed from Private Security to Public

** Also affects: ossn
   Importance: Undecided
   Status: New

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Dashboard (Horizon).
https://bugs.launchpad.net/bugs/1649248

Title:
  Glance image upload wizard does not restrict invalid image files

Status in OpenStack Dashboard (Horizon):
  New
Status in OpenStack Security Advisory:
  Won't Fix
Status in OpenStack Security Notes:
  New

Bug description:
  An unrestricted file upload exists when an application allows users to upload 
files without proper validation. glance fails to properly validate image files 
across four key factors including file extension, mime-type, size, and upload 
frequency. In addition, glance does not appear to scan uploaded files for known 
malware.
  Failing to restrict file uploads affects the security of the OpenStack 
environment in a number of ways. Attacker may commonly use file upload 
functionality to upload viruses or malware onto trusted servers. In addition to 
spreading malware, attacker can upload source code files (.aspx and .jsp for 
example) which may be rendered as valid application pages to end users. 
Additionally, if users are able to upload files of any size or at any 
frequency, an attacker may abuse this functionality to exhaust the server’s 
disk space.

  Steps To Reproduce:
  1. Login to the OpenStack as an admin
  2. Click on Images tab and create a new image by uploading a EICAR text file 
with anti-malware string (EICAR anti-malware test file can be downloaded from 
http://www.eicar.org/ )
  3. Observe that file is uploaded successfully without any pre-checks being 
done.

  The application should validate uploaded files for type and size, and
  limit how often the user is able to perform uploads. The following
  validation can be performed:

  a) If the application requires uploaded files to be of a specific type such 
as img, vmdk, the application should validate the extension.
  b) The first four bytes of the file i.e. Magic Numb

[Yahoo-eng-team] [Bug 1606500] Re: [OSSA 2016-013] Heat: template source URL allows network port scan (CVE-2016-9185)

2016-11-18 Thread Tristan Cacqueray
** Summary changed:

- Heat: template source URL allows network port scan (CVE-2016-9185)
+ [OSSA 2016-013] Heat: template source URL allows network port scan 
(CVE-2016-9185)

** Changed in: ossa
   Status: In Progress => Fix Released

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Dashboard (Horizon).
https://bugs.launchpad.net/bugs/1606500

Title:
  [OSSA 2016-013] Heat: template source URL allows network port scan
  (CVE-2016-9185)

Status in heat:
  Fix Released
Status in OpenStack Dashboard (Horizon):
  Invalid
Status in OpenStack Security Advisory:
  Fix Released

Bug description:
  Launching a new Heat stack and giving the template from an URL like
  http://localhost:22

  Results in an error message like:

  ERROR: Could not retrieve template: Failed to retrieve template:
  ('Connection aborted.', BadStatusLine('SSH-2.0-OpenSSH_6.6.1\r\n',))

  This is a security issue as it allows users to scan the network for
  listening ports.

  heat CLI does not allow that:

  heat stack-create -u http://localhost:22 test
  [Errno 104] Connection reset by peer

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

-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to : yahoo-eng-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp


[Yahoo-eng-team] [Bug 1606500] Re: Heat: template source URL allows network port scan

2016-11-02 Thread Tristan Cacqueray
CVE has been requested with this affect line: <=5.0.3, >=6.0.0 <=6.1.0
and ==7.0.0

@Daniel, the bug is now public, feel free to submit patches to gerrit
for master (Ocata), Newton, Mikata and Liberty.

** Description changed:

- This issue is being treated as a potential security risk under embargo.
- Please do not make any public mention of embargoed (private) security
- vulnerabilities before their coordinated publication by the OpenStack
- Vulnerability Management Team in the form of an official OpenStack
- Security Advisory. This includes discussion of the bug or associated
- fixes in public forums such as mailing lists, code review systems and
- bug trackers. Please also avoid private disclosure to other individuals
- not already approved for access to this information, and provide this
- same reminder to those who are made aware of the issue prior to
- publication. All discussion should remain confined to this private bug
- report, and any proposed fixes should be added to the bug as
- attachments.
- 
  Launching a new Heat stack and giving the template from an URL like
  http://localhost:22
  
  Results in an error message like:
  
  ERROR: Could not retrieve template: Failed to retrieve template:
  ('Connection aborted.', BadStatusLine('SSH-2.0-OpenSSH_6.6.1\r\n',))
  
  This is a security issue as it allows users to scan the network for
  listening ports.
  
  heat CLI does not allow that:
  
  heat stack-create -u http://localhost:22 test
  [Errno 104] Connection reset by peer

** Information type changed from Private Security to Public Security

** Changed in: ossa
   Status: Incomplete => In Progress

** Changed in: horizon
   Status: New => Invalid

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Dashboard (Horizon).
https://bugs.launchpad.net/bugs/1606500

Title:
  Heat: template source URL allows network port scan

Status in heat:
  Triaged
Status in OpenStack Dashboard (Horizon):
  Invalid
Status in OpenStack Security Advisory:
  In Progress

Bug description:
  Launching a new Heat stack and giving the template from an URL like
  http://localhost:22

  Results in an error message like:

  ERROR: Could not retrieve template: Failed to retrieve template:
  ('Connection aborted.', BadStatusLine('SSH-2.0-OpenSSH_6.6.1\r\n',))

  This is a security issue as it allows users to scan the network for
  listening ports.

  heat CLI does not allow that:

  heat stack-create -u http://localhost:22 test
  [Errno 104] Connection reset by peer

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

-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to : yahoo-eng-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp


[Yahoo-eng-team] [Bug 1625619] Re: It is possible to download key pair for other user at the same project

2016-09-27 Thread Tristan Cacqueray
Removed the security tags since it's a class E (or at best class D)
according to the VMT taxonomy: https://security.openstack.org/vmt-
process.html#incident-report-taxonomy.

** Information type changed from Public Security to Public

** Changed in: ossa
   Status: Incomplete => Won't Fix

** Tags removed: security

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/1625619

Title:
  It is possible to download key pair for other user at the same project

Status in OpenStack Dashboard (Horizon):
  New
Status in OpenStack Identity (keystone):
  New
Status in OpenStack Compute (nova):
  New
Status in OpenStack Security Advisory:
  Won't Fix

Bug description:
  Bug was reproduced in mitaka openstack release.

  Steps to reproduce:

  1. Login to horizon.
  2. Click Project-> Compute -> Access and Security
  3. Click "Key Pairs" tab
  4. Click "Create Key Pair" button, enter keypair name.
  5. On the next screen with download key dialog copy URL from browser URL field

  URL will be like
  http://server/horizon/project/access_and_security/keypairs//download

  6. Click cancel to close download window.
  7. Click Project->Compute->Instances.
  8. In opened window select other key pair name from KEY PAIR column (it could 
be key pair for different user)
  9. open new browser window, paste URL string from step 5.
  10. Change in URL  with name obtained from step 8 and press 
enter

  You will be prompted to download private key for other user.

  It isn't correct user should be able to download only his own keys

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

-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to : yahoo-eng-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp


[Yahoo-eng-team] [Bug 1625833] Re: Prevent open redirects as a result of workflow action

2016-09-27 Thread Tristan Cacqueray
I agree on the C1 class.

** Changed in: ossa
   Status: Incomplete => Won't Fix

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Dashboard (Horizon).
https://bugs.launchpad.net/bugs/1625833

Title:
  Prevent open redirects as a result of workflow action

Status in OpenStack Dashboard (Horizon):
  In Progress
Status in OpenStack Security Advisory:
  Won't Fix

Bug description:
  For example:
  /admin/flavors/create/?next=http://www.foobar.com/

  If a user is tricked into clicking that link, the flavor create
  workflow will be shown, but the redirect on form post will
  unexpectedly take the user to another site.

  Prevent this by checking that the next_url in WorkflowView.post is
  same origin.

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

-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to : yahoo-eng-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp


[Yahoo-eng-team] [Bug 1625619] Re: It is possible to download key pair for other user at the same project

2016-09-27 Thread Tristan Cacqueray
Oops, wrong bug updated. Well now that this is public, I've added
keystone to check that bug.

** Also affects: keystone
   Importance: Undecided
   Status: New

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Identity (keystone).
https://bugs.launchpad.net/bugs/1625619

Title:
  It is possible to download key pair for other user at the same project

Status in OpenStack Dashboard (Horizon):
  New
Status in OpenStack Identity (keystone):
  New
Status in OpenStack Security Advisory:
  Incomplete

Bug description:
  Bug was reproduced in mitaka openstack release.

  Steps to reproduce:

  1. Login to horizon.
  2. Click Project-> Compute -> Access and Security
  3. Click "Key Pairs" tab
  4. Click "Create Key Pair" button, enter keypair name.
  5. On the next screen with download key dialog copy URL from browser URL field

  URL will be like
  http://server/horizon/project/access_and_security/keypairs//download

  6. Click cancel to close download window.
  7. Click Project->Compute->Instances.
  8. In opened window select other key pair name from KEY PAIR column (it could 
be key pair for different user)
  9. open new browser window, paste URL string from step 5.
  10. Change in URL  with name obtained from step 8 and press 
enter

  You will be prompted to download private key for other user.

  It isn't correct user should be able to download only his own keys

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

-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to : yahoo-eng-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp


[Yahoo-eng-team] [Bug 1407092] Re: cinder-api reflects JavaScript input

2016-09-26 Thread Tristan Cacqueray
** Changed in: ossa
   Status: Incomplete => Won't Fix

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Dashboard (Horizon).
https://bugs.launchpad.net/bugs/1407092

Title:
  cinder-api reflects JavaScript input

Status in Cinder:
  Won't Fix
Status in OpenStack Dashboard (Horizon):
  Invalid
Status in Mirantis OpenStack:
  Invalid
Status in Mirantis OpenStack 5.0.x series:
  Won't Fix
Status in Mirantis OpenStack 5.1.x series:
  Won't Fix
Status in Mirantis OpenStack 6.0.x series:
  Won't Fix
Status in Mirantis OpenStack 6.1.x series:
  Won't Fix
Status in Mirantis OpenStack 7.0.x series:
  Invalid
Status in Mirantis OpenStack 9.x series:
  Invalid
Status in OpenStack Security Advisory:
  Won't Fix

Bug description:
  cinder-api reflects JavaScript input which could be used to perform
  Cross-Site-Scripting attack on a browser which is visiting Horizon
  interface and working with cinder related gui items

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

-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to : yahoo-eng-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp


[Yahoo-eng-team] [Bug 1589821] Re: cleanup_incomplete_migrations periodic task regression with commit 099cf53 (CVE-2016-7498)

2016-09-22 Thread Tristan Cacqueray
** Changed in: ossa
   Status: In Progress => Fix Released

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/1589821

Title:
  cleanup_incomplete_migrations periodic task regression with commit
  099cf53 (CVE-2016-7498)

Status in OpenStack Compute (nova):
  Fix Released
Status in OpenStack Compute (nova) mitaka series:
  Fix Committed
Status in OpenStack Security Advisory:
  Fix Released

Bug description:
  Patch [1] changes the instance filtering condition in periodic task
  "cleanup_incomplete_migrations" introduced in [2], in such a way that
  it generates new issue, [3]

  After change [1] lands,  the condition changes filtering logic, so now
  all instances on current host are filtered, which is not expected.

  We should filter all instances where instance uuids are associated
  with migration records and those migration status is set to 'error'
  and instance is marked as deleted.

  [1] https://review.openstack.org/#/c/256102/
  [2] https://review.openstack.org/#/c/219299/
  [2] https://bugs.launchpad.net/nova/+bug/1586309

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

-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to : yahoo-eng-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp


[Yahoo-eng-team] [Bug 1618879] Re: iptables rule always be thrashed when update a little rule

2016-08-31 Thread Tristan Cacqueray
Since this report concerns a possible security risk, an incomplete
security advisory task has been added while the core security reviewers
for the affected project or projects confirm the bug and discuss the
scope of any vulnerability along with potential solutions.

I've add the OSSA task since it's reported as a Security bug, though it
doesn't like a vulnerability but more of a bug with (some) security
implications (class D according to VMT taxonomy).

** Also affects: ossa
   Importance: Undecided
   Status: New

** Changed in: ossa
   Status: New => Incomplete

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

Title:
  iptables rule always be thrashed when update a little rule

Status in neutron:
  In Progress
Status in OpenStack Security Advisory:
  Incomplete

Bug description:
  When update meter label or rule, iptables_manager will update iptables
  rule in router's namespace. In order to, it will clean traffic counter
  number collected in interval time, the other iptables always trashing
  that will clean old iptalbes rule and generate new same significance
  iptables rule.

  the example from update meter label:
   
  Generated by iptables_manager
  *filter
  :neutron-meter-neutron-met - [0:0]
  :neutron-meter-r-00599199-632 - [0:0]
  -I FORWARD 2 -j neutron-meter-FORWARD
  -D FORWARD 4
  -I INPUT 1 -j neutron-meter-INPUT
  -D INPUT 3
  -I OUTPUT 2 -j neutron-meter-OUTPUT
  -D OUTPUT 4
  -I neutron-filter-top 1 -j neutron-meter-local
  -D neutron-filter-top 3
  -D neutron-meter-l-00e4e019-099 1
  -I neutron-meter-l-00e4e019-099 1
  -D neutron-meter-l-01e4e019-099 1
  -I neutron-meter-l-01e4e019-099 1
  -I neutron-meter-r-00599199-632 1 -i qg-f0732f6f-8e -d 192.168.10.0/24 -j 
neutron-meter-l-00599199-632
  COMMIT
  # Completed by iptables_manager
  # Generated by iptables_manager
  *raw
  -I OUTPUT 1 -j neutron-meter-OUTPUT
  -D OUTPUT 3
  -I PREROUTING 1 -j neutron-meter-PREROUTING
  -D PREROUTING 3
  COMMIT
  # Completed by iptables_manager

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

-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to : yahoo-eng-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp


[Yahoo-eng-team] [Bug 1611991] Re: [ovs firewall] Port 23 is open on booted vms with only ping/ssh on 22 allowed.

2016-08-28 Thread Tristan Cacqueray
Closing the OSSA task, reason: B3 type of bug according to VMT taxonomy
( https://security.openstack.org/vmt-process.html#incident-report-
taxonomy ).


** Changed in: ossa
   Status: Incomplete => Won't Fix

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

Title:
  [ovs firewall] Port 23 is open on booted vms with only ping/ssh on 22
  allowed.

Status in neutron:
  In Progress
Status in OpenStack Security Advisory:
  Won't Fix

Bug description:
  Seen on master devstack, ubuntu xenial.

  Steps to reproduce:

  1. Enable ovs firewall in /etc/neutron/plugins/ml2/ml2.conf

  [securitygroup]
  firewall_driver = openvswitch

  2. Create a security group with icmp, tcp to 22.

  3. Boot a VM, assign a floating ip.

  4. Check that port 23 can be accessed via tcp (telnet, nc, etc).

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

-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to : yahoo-eng-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp


[Yahoo-eng-team] [Bug 1597864] Re: Horizon exposes keystone endpoint url when viewing login source code

2016-08-28 Thread Tristan Cacqueray
Closing the OSSA task, reason: C1 type of bug according to VMT taxonomy
( https://security.openstack.org/vmt-process.html#incident-report-
taxonomy ).

** Changed in: ossa
   Status: Incomplete => Won't Fix

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Dashboard (Horizon).
https://bugs.launchpad.net/bugs/1597864

Title:
  Horizon exposes keystone endpoint url when viewing login source code

Status in OpenStack Dashboard (Horizon):
  Invalid
Status in OpenStack Security Advisory:
  Won't Fix

Bug description:
  When viewing source code on Horizon login this line of code is
  exposing the Keystone internal url endpoint. Both examples are
  default, no customizations.

  MOS 6.1
  http://172.16.108.2:5000/v2.0"; />

   root@node-6:~# openstack endpoint show keystone
  +--+--+
  | Field| Value|
  +--+--+
  | adminurl | http://172.16.108.2:35357/v2.0   |
  | enabled  | True |
  | id   | 4f781d4ac9f9463d9ab37632146d45bc |
  | internalurl  | http://172.16.108.2:5000/v2.0|
  | publicurl| http://172.16.107.226:5000/v2.0  |
  | region   | RegionOne|
  | service_id   | 1a4391f1448a4225846e0a9d01b9af90 |
  | service_name | keystone |
  | service_type | identity |
  +--+—+

  http://pastebin.com/yHC8eT8g

  MOS 8.0
  http://192.168.0.2:5000/v2.0"; />

  root@node-27:~# openstack endpoint show identity
  +--+--+
  | Field| Value|
  +--+--+
  | adminurl | http://192.168.0.2:35357/v2.0|
  | enabled  | True |
  | id   | 2c02316fd1684863b1858da06a766535 |
  | internalurl  | http://192.168.0.2:5000/v2.0 |
  | publicurl| http://172.16.0.3:5000/v2.0  |
  | region   | RegionOne|
  | service_id   | 6e7a33ba6751453fb96d497244a89470 |
  | service_name | keystone |
  | service_type | identity |
  +--+--+


  I was not able to find an associated CVE for this issue but it looks
  like there should be.

  Environment MOS 6.1, 8.0

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

-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to : yahoo-eng-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp


[Yahoo-eng-team] [Bug 1611171] Re: re-runs self via sudo

2016-08-09 Thread Tristan Cacqueray
Since this report concerns a possible security risk, an incomplete
security advisory task has been added while the core security reviewers
for the affected project or projects confirm the bug and discuss the
scope of any vulnerability along with potential solutions.

It seems like a class D type of bug (e.g., hardening opportunity)
according to VMT taxonomy ( https://security.openstack.org/vmt-
process.html#incident-report-taxonomy ).

** Also affects: ossa
   Importance: Undecided
   Status: New

** Changed in: ossa
   Status: New => Incomplete

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/1611171

Title:
  re-runs self via sudo

Status in Cinder:
  New
Status in Designate:
  In Progress
Status in ec2-api:
  New
Status in gce-api:
  New
Status in Manila:
  New
Status in masakari:
  New
Status in OpenStack Compute (nova):
  New
Status in OpenStack Security Advisory:
  Incomplete
Status in Rally:
  New

Bug description:
  Hello, I'm looking through Designate source code to determine if is
  appropriate to include in Ubuntu Main. This isn't a full security
  audit.

  This looks like trouble:

  ./designate/cmd/manage.py

  def main():
  CONF.register_cli_opt(category_opt)

  try:
  utils.read_config('designate', sys.argv)
  logging.setup(CONF, 'designate')
  except cfg.ConfigFilesNotFoundError:
  cfgfile = CONF.config_file[-1] if CONF.config_file else None
  if cfgfile and not os.access(cfgfile, os.R_OK):
  st = os.stat(cfgfile)
  print(_("Could not read %s. Re-running with sudo") % cfgfile)
  try:
  os.execvp('sudo', ['sudo', '-u', '#%s' % st.st_uid] + 
sys.argv)
  except Exception:
  print(_('sudo failed, continuing as if nothing happened'))

  print(_('Please re-run designate-manage as root.'))
  sys.exit(2)

  
  This is an interesting decision -- if the configuration file is _not_ 
readable by the user in question, give the executing user complete privileges 
of the user that owns the unreadable file.

  I'm not a fan of hiding privilege escalation / modifications in
  programs -- if a user had recently used sudo and thus had the
  authentication token already stored for their terminal, this 'hidden'
  use of sudo may be unexpected and unwelcome, especially since it
  appears that argv from the first call leaks through to the sudo call.

  Is this intentional OpenStack style? Or unexpected for you guys too?

  (Feel free to make this public at your convenience.)

  Thanks

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

-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to : yahoo-eng-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp


[Yahoo-eng-team] [Bug 1567673] Re: [OSSA-2016-010] Possible client side template injection in horizon (CVE-2016-4428)

2016-06-17 Thread Tristan Cacqueray
** Changed in: ossa
   Status: Fix Committed => Fix Released

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Dashboard (Horizon).
https://bugs.launchpad.net/bugs/1567673

Title:
  [OSSA-2016-010] Possible client side template injection in horizon
  (CVE-2016-4428)

Status in OpenStack Dashboard (Horizon):
  Fix Released
Status in OpenStack Security Advisory:
  Fix Released

Bug description:
  I'm working through my groups process to deploy a new web app so that
  we can provide openstack in our production environment. Part of that
  process is having an authenticated security scan done by Acunetix.

  I've attached a screenshot of the report for the alert received during
  the scan.

  Unfortunately I'm not a dev, so I'm not sure if this is a false alarm
  or not.

  Quick research found the following link which talks about the issue in
  general: http://blog.portswigger.net/2016/01/xss-without-html-client-
  side-template.html

  Any input would be greatly appreciated.

  Thanks!
  Brandon

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

-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to : yahoo-eng-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp


[Yahoo-eng-team] [Bug 1502933] Re: [OSSA-2016-009] ICMPv6 anti-spoofing rules are too permissive (CVE-2015-8914)

2016-06-14 Thread Tristan Cacqueray
** Summary changed:

- ICMPv6 anti-spoofing rules are too permissive (CVE-2015-8914)
+ [OSSA-2016-009] ICMPv6 anti-spoofing rules are too permissive (CVE-2015-8914)

** Changed in: ossa
   Status: In Progress => Fix Released

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

Title:
  [OSSA-2016-009] ICMPv6 anti-spoofing rules are too permissive
  (CVE-2015-8914)

Status in neutron:
  Fix Committed
Status in OpenStack Security Advisory:
  Fix Released

Bug description:
  ICMPv6 default firewall rules are too permissive on the hypervisors
  leaving VMs able to do ICMPv6 source address spoofing.

  Pre-condition:

  - having a provider-network providing IPv6 connectivity to the VMs
  - in my case the controllers are providing statefull DHCPv6 and my physical 
router provides the default gateway using Router Advertisements.

  How to reproduce:

  - spin a VM and attach to it an IPv6 enabled network
  - obtain an IPv6 address using #dhclient -6
  - try to ping6 an IPv6 enabled host
  - remove your IPv6 address from the interface: #sudo ip addr del 
2001:0DB8::100/32 dev eth0
  - add a forged IPv6 address to your interface, into the same subnet of the 
original IPv6 address: #sudo ip addr add 2001:0DB8::200/32 dev eth0
  - try to ping6 the previous IPv6 enabled host, it will still work
  - try to assign another IPv6 address to your NIC, completely outside your 
IPv6 assignment: sudo ip addr add 2001:dead:beef::1/64 dev eth0
  - try to ping6 the previous IPv6 enabled host -> the destination will still 
receive your echo requests with your forget address but you won't receive 
answers, they won't be router back to you.

  Expected behavior:

  - VMs should not be able to spoof their IPv6 address and issue forged
  ICMPv6 packets. The firewall rules on the hypervisor should restrict
  ICMPv6 egress to the VMs link-local and global-unicast addresses.

  Affected versions:

  - I saw the issue into OpenStack Juno, under Ubuntu 14.04. But
  according to the upstream code, the issue is still present into the
  master branch, into; neutron/agent/linux/iptables_firewall.py, into
  line 385:

  ipv6_rules += [comment_rule('-p icmpv6 -j RETURN',
  comment=ic.IPV6_ICMP_ALLOW)]

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

-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to : yahoo-eng-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp


[Yahoo-eng-team] [Bug 1558658] Re: [OSSA-2016-009] Security Groups do not prevent MAC and/or IPv4 spoofing in DHCP requests (CVE-2016-5362 and CVE-2016-5363)

2016-06-14 Thread Tristan Cacqueray
** Summary changed:

- Security Groups do not prevent MAC and/or IPv4 spoofing in DHCP requests 
(CVE-2016-5362 and CVE-2016-5363)
+ [OSSA-2016-009] Security Groups do not prevent MAC and/or IPv4 spoofing in 
DHCP requests (CVE-2016-5362 and CVE-2016-5363)

** Changed in: ossa
   Status: In Progress => Fix Released

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

Title:
  [OSSA-2016-009] Security Groups do not prevent MAC and/or IPv4
  spoofing in DHCP requests (CVE-2016-5362 and CVE-2016-5363)

Status in neutron:
  Fix Released
Status in neutron kilo series:
  Fix Released
Status in OpenStack Security Advisory:
  Fix Released

Bug description:
  The IptablesFirewallDriver does not prevent spoofing other instances
  or a routers MAC and/or IP addresses. The rule to permit DHCP
  discovery and request messages:

  ipv4_rules += [comment_rule('-p udp -m udp --sport 68 --dport 67 '
  '-j RETURN', comment=ic.DHCP_CLIENT)]

  is too permissive, it does not enforce the source MAC or IP address.
  This is the IPv4 case of public bug
  https://bugs.launchpad.net/neutron/+bug/1502933, and a solution was
  previously mentioned in June 2013 in
  https://bugs.launchpad.net/neutron/+bug/1427054.

  If L2population is not used, an instance can spoof the Neutron
  router's MAC address and cause the switches to learn a MAC move,
  allowing the instance to intercept other instances traffic potentially
  belonging to other tenants if this is shared network.

  The solution for this is to permit this DHCP traffic only from the
  instance's IP address and the unspecified IPv4 address 0.0.0.0/32
  rather than from an IPv4 source, additionally the source MAC address
  should be restricted to MAC addresses assigned to the instance's
  Neutron port.

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

-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to : yahoo-eng-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp


[Yahoo-eng-team] [Bug 1575225] Re: Neutron only permits IPv6 MLDv1 not v2

2016-06-13 Thread Tristan Cacqueray
Ok my bad, then the OSSA task needs to be removed. Thanks!

** Changed in: ossa
   Status: Incomplete => Won't Fix

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

Title:
  Neutron only permits IPv6 MLDv1 not v2

Status in neutron:
  In Progress
Status in OpenStack Security Advisory:
  Won't Fix

Bug description:
  IPv6 Multicast Listener Discovery (MLD) v2 [1] is used on recent
  version of Linux, currently Neutron only permits MLDv1 in the
  ICMPV6_ALLOWED_TYPES, so duplicate address discovery (DAD) doesn't not
  actually detect duplicate addresses should Neutron actually enforce
  ICMPv6 source addresses (bug/1502933). While Neutron should not assign
  duplicate addresses, instances where duplicate addresses are possible
  on provider networks between instances and external devices and on
  user assign addresses when using allowed address pairs.

  Here is a dump showing duplicate address detection on a recent Linux
  kernel:

  $ uname -r
  4.4.0-0.bpo.1-amd64
  $ sudo ip link add veth0 type veth peer name veth1
  $ sudo ip link set veth1 up
  $ sudo tcpdump -npel -i veth1 &
  [1] 15528
  tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
  listening on veth1, link-type EN10MB (Ethernet), capture size 262144 bytes
  $ sudo ip link set veth0 up
  $

  09:47:38.853762 5e:9b:3c:4f:a3:e0 > 33:33:00:00:00:16, ethertype IPv6 
(0x86dd), length 90: :: > ff02::16: HBH ICMP6, multicast listener report v2, 1 
group record(s), length 28
  09:47:38.853774 b2:29:3a:34:bc:eb > 33:33:00:00:00:16, ethertype IPv6 
(0x86dd), length 90: :: > ff02::16: HBH ICMP6, multicast listener report v2, 1 
group record(s), length 28
  09:47:39.113772 b2:29:3a:34:bc:eb > 33:33:ff:34:bc:eb, ethertype IPv6 
(0x86dd), length 78: :: > ff02::1:ff34:bceb: ICMP6, neighbor solicitation, who 
has fe80::b029:3aff:fe34:bceb, length 24
  09:47:39.141766 5e:9b:3c:4f:a3:e0 > 33:33:ff:4f:a3:e0, ethertype IPv6 
(0x86dd), length 78: :: > ff02::1:ff4f:a3e0: ICMP6, neighbor solicitation, who 
has fe80::5c9b:3cff:fe4f:a3e0, length 24
  09:47:39.505764 b2:29:3a:34:bc:eb > 33:33:00:00:00:16, ethertype IPv6 
(0x86dd), length 90: :: > ff02::16: HBH ICMP6, multicast listener report v2, 1 
group record(s), length 28
  09:47:39.717759 5e:9b:3c:4f:a3:e0 > 33:33:00:00:00:16, ethertype IPv6 
(0x86dd), length 90: :: > ff02::16: HBH ICMP6, multicast listener report v2, 1 
group record(s), length 28
  09:47:40.113807 b2:29:3a:34:bc:eb > 33:33:00:00:00:16, ethertype IPv6 
(0x86dd), length 90: fe80::b029:3aff:fe34:bceb > ff02::16: HBH ICMP6, multicast 
listener report v2, 1 group record(s), length 28
  09:47:40.113827 b2:29:3a:34:bc:eb > 33:33:00:00:00:02, ethertype IPv6 
(0x86dd), length 70: fe80::b029:3aff:fe34:bceb > ff02::2: ICMP6, router 
solicitation, length 16
  09:47:40.121756 b2:29:3a:34:bc:eb > 33:33:00:00:00:16, ethertype IPv6 
(0x86dd), length 90: fe80::b029:3aff:fe34:bceb > ff02::16: HBH ICMP6, multicast 
listener report v2, 1 group record(s), length 28
  09:47:40.141811 5e:9b:3c:4f:a3:e0 > 33:33:00:00:00:16, ethertype IPv6 
(0x86dd), length 90: fe80::5c9b:3cff:fe4f:a3e0 > ff02::16: HBH ICMP6, multicast 
listener report v2, 1 group record(s), length 28
  09:47:40.141836 5e:9b:3c:4f:a3:e0 > 33:33:00:00:00:02, ethertype IPv6 
(0x86dd), length 70: fe80::5c9b:3cff:fe4f:a3e0 > ff02::2: ICMP6, router 
solicitation, length 16
  09:47:40.149763 5e:9b:3c:4f:a3:e0 > 33:33:00:00:00:16, ethertype IPv6 
(0x86dd), length 90: fe80::5c9b:3cff:fe4f:a3e0 > ff02::16: HBH ICMP6, multicast 
listener report v2, 1 group record(s), length 28


  1. https://www.ietf.org/rfc/rfc3810.txt

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

-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to : yahoo-eng-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp


[Yahoo-eng-team] [Bug 1577558] Re: [OSSA 2016-008] v2.0 fernet tokens audit ids are inconsistent (CVE-2016-4911)

2016-06-13 Thread Tristan Cacqueray
** Changed in: ossa
   Status: In Progress => Fix Released

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Identity (keystone).
https://bugs.launchpad.net/bugs/1577558

Title:
  [OSSA 2016-008] v2.0 fernet tokens audit ids are inconsistent
  (CVE-2016-4911)

Status in OpenStack Identity (keystone):
  Fix Released
Status in OpenStack Security Advisory:
  Fix Released

Bug description:
  If you set the token provider to token.provider = fernet, get an
  unscoped token from v2.0, then rescope that token to a project, you'll
  notice the audit ids don't match. I've recreated this issue in a test
  [0].

  What should happen is that the unscoped token response will have a
  list of audit_ids containing a single audit_id. The project scoped
  token response from the unscoped token will also have a list of
  audit_ids in the token response but the original audit_id from the
  unscoped token will be in the list of the project scoped token.

  Right now this behavior doesn't exist in with the fernet provider on
  v2.0.

  
  [0] https://review.openstack.org/#/c/311816/1

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

-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to : yahoo-eng-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp


[Yahoo-eng-team] [Bug 1589821] Re: cleanup_incomplete_migrations periodic task regression with commit 099cf53925c0a0275325339f21932273ee9ce2bc

2016-06-09 Thread Tristan Cacqueray
Since this report concerns a possible security risk, an incomplete
security advisory task has been added while the core security reviewers
for the affected project or projects confirm the bug and discuss the
scope of any vulnerability along with potential solutions.

So IIUC, nova mitaka version(s) is affected by OSSA 2015-017. Does the
impact description still applies ?


Title: Nova may fail to delete images in resize state

Description:
If an authenticated user deletes an instance while it is in resize state, it 
will cause the original instance to not be deleted from the compute node it was 
running on. An attacker can use this to launch a denial of service attack. All 
Nova setups are affected.


This may need a new OSSA for this regression.

** Also affects: ossa
   Importance: Undecided
   Status: New

** Changed in: ossa
   Status: New => Incomplete

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/1589821

Title:
  cleanup_incomplete_migrations periodic task regression with commit
  099cf53925c0a0275325339f21932273ee9ce2bc

Status in OpenStack Compute (nova):
  Fix Released
Status in OpenStack Compute (nova) mitaka series:
  Fix Committed
Status in OpenStack Security Advisory:
  Incomplete

Bug description:
  Patch [1] changes the instance filtering condition in periodic task
  "cleanup_incomplete_migrations" introduced in [2], in such a way that
  it generates new issue, [3]

  After change [1] lands,  the condition changes filtering logic, so now
  all instances on current host are filtered, which is not expected.

  We should filter all instances where instance uuids are associated
  with migration records and those migration status is set to 'error'
  and instance is marked as deleted.

  [1] https://review.openstack.org/#/c/256102/
  [2] https://review.openstack.org/#/c/219299/
  [2] https://bugs.launchpad.net/nova/+bug/1586309

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

-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to : yahoo-eng-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp


[Yahoo-eng-team] [Bug 1575909] Re: VPN shared PSK shown in plaintext

2016-05-30 Thread Tristan Cacqueray
Based on above comment, I removed the OSSA task.

** Changed in: ossa
   Status: Incomplete => Won't Fix

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Dashboard (Horizon).
https://bugs.launchpad.net/bugs/1575909

Title:
  VPN shared PSK shown in plaintext

Status in OpenStack Dashboard (Horizon):
  New
Status in OpenStack Security Advisory:
  Won't Fix

Bug description:
  In the neutron VPN details and form,
  
https://github.com/openstack/horizon/blob/master/openstack_dashboard/dashboards/project/vpn/templates/vpn/_ipsecsiteconnection_details.html#L43
  and
  
https://github.com/openstack/horizon/blob/master/openstack_dashboard/dashboards/project/vpn/forms.py#L249
  don't offer the option of hiding the string. Typically sensitive
  information like passwords is hidden by default, requiring the user to
  explicitly choose to make it visible by clicking an icon (like the eye
  icon).

  Filing this as a security bug out of an overabundance of caution;
  while it is related to security it doesn't describe a vulnerability
  that can be exploited by means other than shoulder surfing.

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

-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to : yahoo-eng-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp


[Yahoo-eng-team] [Bug 1584510] [NEW] internal server error when using a boolean instead of router port id

2016-05-22 Thread Tristan Cacqueray
Public bug reported:

When calling the neutron-server api directly with '{"port_id": false}' like:
 curl -X PUT 
http://127.0.0.1:9696/v2.0/routers/${ROUTER_ID}/add_router_interface.json -d 
'{"port_id": false}'

The neutron.api.v2.resource fails with this exception:
Traceback (most recent call last):
  File "neutron/db/l3_dvr_db.py", line 252, in add_router_interface 
context, router, interface_info['port_id'], device_owner)
  File "neutron/db/l3_db.py", line 600, in _add_interface_by_port
self._check_router_port(context, port_id, '')
  File "neutron/db/l3_db.py", line 586, in _check_router_port
port = self._core_plugin.get_port(context, port_id)
  File "neutron/db/db_base_plugin_v2.py", line 1344, in get_port
port = self._get_port(context, id)
  File "neutron/db/db_base_plugin_common.py", line 224, in _get_port
port = self._get_by_id(context, models_v2.Port, id)
  File "neutron/db/common_db_mixin.py", line 212, in _get_by_id 
return query.filter(model.id == id).one()
  File "sqlalchemy/orm/query.py", line 2702, in one
"Multiple rows were found for one()")
MultipleResultsFound: Multiple rows were found for one()

It seems like the _get_by_id method expects a uuid str and it is fooled
by a boolean that get used in the sqlalchemy filter. The error is miss-
leading and could be prevented if the port_id type was forced to be a
string.

While this doesn't affect the service availability, it gets quickly
overly verbose when port_id is an empty list (e.g.: '{"port_id": []}'),
then the server.log grow by 13k per request, see attached log file.

** Affects: neutron
 Importance: Undecided
 Status: New

** Attachment added: "dberror_traceback.txt"
   
https://bugs.launchpad.net/bugs/1584510/+attachment/4668187/+files/dberror_traceback.txt

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

Title:
  internal server error when using a boolean instead of router port id

Status in neutron:
  New

Bug description:
  When calling the neutron-server api directly with '{"port_id": false}' like:
   curl -X PUT 
http://127.0.0.1:9696/v2.0/routers/${ROUTER_ID}/add_router_interface.json -d 
'{"port_id": false}'

  The neutron.api.v2.resource fails with this exception:
  Traceback (most recent call last):
File "neutron/db/l3_dvr_db.py", line 252, in add_router_interface 
  context, router, interface_info['port_id'], device_owner)
File "neutron/db/l3_db.py", line 600, in _add_interface_by_port
  self._check_router_port(context, port_id, '')
File "neutron/db/l3_db.py", line 586, in _check_router_port
  port = self._core_plugin.get_port(context, port_id)
File "neutron/db/db_base_plugin_v2.py", line 1344, in get_port
  port = self._get_port(context, id)
File "neutron/db/db_base_plugin_common.py", line 224, in _get_port
  port = self._get_by_id(context, models_v2.Port, id)
File "neutron/db/common_db_mixin.py", line 212, in _get_by_id 
  return query.filter(model.id == id).one()
File "sqlalchemy/orm/query.py", line 2702, in one
  "Multiple rows were found for one()")
  MultipleResultsFound: Multiple rows were found for one()

  It seems like the _get_by_id method expects a uuid str and it is
  fooled by a boolean that get used in the sqlalchemy filter. The error
  is miss-leading and could be prevented if the port_id type was forced
  to be a string.

  While this doesn't affect the service availability, it gets quickly
  overly verbose when port_id is an empty list (e.g.: '{"port_id":
  []}'), then the server.log grow by 13k per request, see attached log
  file.

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

-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to : yahoo-eng-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp


[Yahoo-eng-team] [Bug 1575225] Re: Neutron only permits IPv6 MLDv1 not v2

2016-05-17 Thread Tristan Cacqueray
Since this report concerns a possible security risk, an incomplete
security advisory task has been added while the core security reviewers
for the affected project or projects confirm the bug and discuss the
scope of any vulnerability along with potential solutions.

** Also affects: ossa
   Importance: Undecided
   Status: New

** Changed in: ossa
   Status: New => Incomplete

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

Title:
  Neutron only permits IPv6 MLDv1 not v2

Status in neutron:
  In Progress
Status in OpenStack Security Advisory:
  Incomplete

Bug description:
  IPv6 Multicast Listener Discovery (MLD) v2 [1] is used on recent
  version of Linux, currently Neutron only permits MLDv1 in the
  ICMPV6_ALLOWED_TYPES, so duplicate address discovery (DAD) doesn't not
  actually detect duplicate addresses should Neutron actually enforce
  ICMPv6 source addresses (bug/1502933). While Neutron should not assign
  duplicate addresses, instances where duplicate addresses are possible
  on provider networks between instances and external devices and on
  user assign addresses when using allowed address pairs.

  Here is a dump showing duplicate address detection on a recent Linux
  kernel:

  $ uname -r
  4.4.0-0.bpo.1-amd64
  $ sudo ip link add veth0 type veth peer name veth1
  $ sudo ip link set veth1 up
  $ sudo tcpdump -npel -i veth1 &
  [1] 15528
  tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
  listening on veth1, link-type EN10MB (Ethernet), capture size 262144 bytes
  $ sudo ip link set veth0 up
  $

  09:47:38.853762 5e:9b:3c:4f:a3:e0 > 33:33:00:00:00:16, ethertype IPv6 
(0x86dd), length 90: :: > ff02::16: HBH ICMP6, multicast listener report v2, 1 
group record(s), length 28
  09:47:38.853774 b2:29:3a:34:bc:eb > 33:33:00:00:00:16, ethertype IPv6 
(0x86dd), length 90: :: > ff02::16: HBH ICMP6, multicast listener report v2, 1 
group record(s), length 28
  09:47:39.113772 b2:29:3a:34:bc:eb > 33:33:ff:34:bc:eb, ethertype IPv6 
(0x86dd), length 78: :: > ff02::1:ff34:bceb: ICMP6, neighbor solicitation, who 
has fe80::b029:3aff:fe34:bceb, length 24
  09:47:39.141766 5e:9b:3c:4f:a3:e0 > 33:33:ff:4f:a3:e0, ethertype IPv6 
(0x86dd), length 78: :: > ff02::1:ff4f:a3e0: ICMP6, neighbor solicitation, who 
has fe80::5c9b:3cff:fe4f:a3e0, length 24
  09:47:39.505764 b2:29:3a:34:bc:eb > 33:33:00:00:00:16, ethertype IPv6 
(0x86dd), length 90: :: > ff02::16: HBH ICMP6, multicast listener report v2, 1 
group record(s), length 28
  09:47:39.717759 5e:9b:3c:4f:a3:e0 > 33:33:00:00:00:16, ethertype IPv6 
(0x86dd), length 90: :: > ff02::16: HBH ICMP6, multicast listener report v2, 1 
group record(s), length 28
  09:47:40.113807 b2:29:3a:34:bc:eb > 33:33:00:00:00:16, ethertype IPv6 
(0x86dd), length 90: fe80::b029:3aff:fe34:bceb > ff02::16: HBH ICMP6, multicast 
listener report v2, 1 group record(s), length 28
  09:47:40.113827 b2:29:3a:34:bc:eb > 33:33:00:00:00:02, ethertype IPv6 
(0x86dd), length 70: fe80::b029:3aff:fe34:bceb > ff02::2: ICMP6, router 
solicitation, length 16
  09:47:40.121756 b2:29:3a:34:bc:eb > 33:33:00:00:00:16, ethertype IPv6 
(0x86dd), length 90: fe80::b029:3aff:fe34:bceb > ff02::16: HBH ICMP6, multicast 
listener report v2, 1 group record(s), length 28
  09:47:40.141811 5e:9b:3c:4f:a3:e0 > 33:33:00:00:00:16, ethertype IPv6 
(0x86dd), length 90: fe80::5c9b:3cff:fe4f:a3e0 > ff02::16: HBH ICMP6, multicast 
listener report v2, 1 group record(s), length 28
  09:47:40.141836 5e:9b:3c:4f:a3:e0 > 33:33:00:00:00:02, ethertype IPv6 
(0x86dd), length 70: fe80::5c9b:3cff:fe4f:a3e0 > ff02::2: ICMP6, router 
solicitation, length 16
  09:47:40.149763 5e:9b:3c:4f:a3:e0 > 33:33:00:00:00:16, ethertype IPv6 
(0x86dd), length 90: fe80::5c9b:3cff:fe4f:a3e0 > ff02::16: HBH ICMP6, multicast 
listener report v2, 1 group record(s), length 28


  1. https://www.ietf.org/rfc/rfc3810.txt

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

-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to : yahoo-eng-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp


[Yahoo-eng-team] [Bug 1534652] Re: Host machine exposed to tenant networks via IPv6

2016-05-16 Thread Tristan Cacqueray
Based on a similar report (bug 1302080), I've closed the OSSA task.
However I've added an OSSN task to discuss an eventual Note about
compute and controller firewalling requirements.

** Also affects: ossn
   Importance: Undecided
   Status: New

** Changed in: ossa
   Status: Incomplete => Won't Fix

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

Title:
  Host machine exposed to tenant networks via IPv6

Status in networking-midonet:
  Fix Released
Status in neutron:
  Fix Released
Status in neutron kilo series:
  New
Status in OpenStack Security Advisory:
  Won't Fix
Status in OpenStack Security Notes:
  New

Bug description:
  When creating a new interface Neutron creates interface and brings
  link up without disabling default IPv6 binding. By default Linux
  brings IPv6 link local addresses to all interfaces, this is different
  behavior than IPv4 where an administrator must explicitly configure an
  address on the interface.

  The is significantly exposed in LinuxBridgeManager ensure_vlan() and
  ensure_vxlan() where a new VLAN or VXLAN interface is created and set
  link up before being enslaved in the bridge. In the case of compute
  node joining and existing network, there is a time window in which
  VLAN or VXLAN interface is created and has connectivity to the tenant
  network before it has been enslaved in bridge. Under normal
  circumstances this time window is less than the time needed to preform
  IPv6 duplicate address detection, but under high load this assumption
  may not hold.

  I recommend explicitly disabling IPv6 via sysctl on each interface
  which will be attached to a bridge prior bringing the interface link
  up. This is already done for the bridge interfaces themselves, but
  should be done for all Neutron configured interfaces in the default
  namespace.

  This issue was referenced in https://bugs.launchpad.net/neutron/+bug/1459856
  Related issue addressed being addressed in Nova: 
https://review.openstack.org/#/c/198054/

To manage notifications about this bug go to:
https://bugs.launchpad.net/networking-midonet/+bug/1534652/+subscriptions

-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to : yahoo-eng-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp


[Yahoo-eng-team] [Bug 1576765] Re: Potential DOS: Keystone Extra Fields

2016-05-09 Thread Tristan Cacqueray
Based on above comments, I've switch that bug to public and removed the
OSSA task.

** Information type changed from Private Security to Public

** Description changed:

- This issue is being treated as a potential security risk under embargo.
- Please do not make any public mention of embargoed (private) security
- vulnerabilities before their coordinated publication by the OpenStack
- Vulnerability Management Team in the form of an official OpenStack
- Security Advisory. This includes discussion of the bug or associated
- fixes in public forums such as mailing lists, code review systems and
- bug trackers. Please also avoid private disclosure to other individuals
- not already approved for access to this information, and provide this
- same reminder to those who are made aware of the issue prior to
- publication. All discussion should remain confined to this private bug
- report, and any proposed fixes should be added to the bug as
- attachments.
- 
- --
- 
  A user that has rights to update a resource in Keystone (project, user,
  domain, etc) can inject extra data (near unlimited amounts) with data
  that is only limited by the maximum request size. The extra fields
  cannot be deleted (ever) in the current design (the value of the field
  can be set to ~1byte minimum). An update excluding the field leaves the
  field data intact as is.
  
  This means that a bad actor can update a keystone resource and do one of
  the following to DOS Keystone cluster, database replication, database
  traffic, etc:
  
  1) Create endless numbers of fields with very little data, that will
  cause longer and longer json serialization/deserailization times due to
  the volume of elements.
  
  2) Create endless numbers of fields with large data sets, increasing the
  delta of what is stored in the RDBMS and putting extra load on the
  replication/etc processes for the shared data. This potentially could be
  used as a vector to run the DB server out of ram/cache/buffers/disk.
  This also causes the issue itemized above (1).
  
  3) With HMT, it is possible to duplicate (as a domain/user) the above
  listed items with more and more resources.
  
  Memcache/caching will offset some of these issues until the memcache
  server can no longer store the data from the keystone resource due to
  exceeding the slab size (1MB) which could cause excessive load on the
  memcached servers/caching servers.
  
  With caching enabled, it is possible to run the keystone processes out
  of memory/DOS due to the request_local cache in use to ensure that the
  resources are fetched from the backend a single time (using a msgpack of
  the data stored in memory) for a given HTTP request.
  
  --- PROPOSED FIX --
  * Issue a security bug fix that by default disables the ability to store data 
in the extra fields for *ALL* keystone resources
  * Migrate any/all fields that keystone supports to first class-attributes 
(columns) in the SQL backend[s].
  * 2-Cycle deprecation before removal of the support for "extra" field storage 
(toggled via config value) - in the P Cycle extra fields will no longer be 
supported. All non-standard data will need to be migrated to an external 
metadata storage.

** Changed in: ossa
   Status: Incomplete => Won't Fix

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Identity (keystone).
https://bugs.launchpad.net/bugs/1576765

Title:
  Potential DOS: Keystone Extra Fields

Status in OpenStack Identity (keystone):
  New
Status in OpenStack Security Advisory:
  Won't Fix

Bug description:
  A user that has rights to update a resource in Keystone (project,
  user, domain, etc) can inject extra data (near unlimited amounts) with
  data that is only limited by the maximum request size. The extra
  fields cannot be deleted (ever) in the current design (the value of
  the field can be set to ~1byte minimum). An update excluding the field
  leaves the field data intact as is.

  This means that a bad actor can update a keystone resource and do one
  of the following to DOS Keystone cluster, database replication,
  database traffic, etc:

  1) Create endless numbers of fields with very little data, that will
  cause longer and longer json serialization/deserailization times due
  to the volume of elements.

  2) Create endless numbers of fields with large data sets, increasing
  the delta of what is stored in the RDBMS and putting extra load on the
  replication/etc processes for the shared data. This potentially could
  be used as a vector to run the DB server out of
  ram/cache/buffers/disk. This also causes the issue itemized above (1).

  3) With HMT, it is possible to duplicate (as a domain/user) the above
  listed items with more and more resources.

  Memcache/caching will offset some of these issues until the memcache
  server can no longer store the data from the keystone resource due to
  exceeding the slab size (1MB) which could caus

[Yahoo-eng-team] [Bug 1553324] Re: potential DOS with revoke by id or audit_id

2016-04-30 Thread Tristan Cacqueray
** Changed in: ossa
   Status: Incomplete => Won't Fix

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Identity (keystone).
https://bugs.launchpad.net/bugs/1553324

Title:
  potential DOS with revoke by id or audit_id

Status in OpenStack Identity (keystone):
  New
Status in OpenStack Security Advisory:
  Won't Fix
Status in OpenStack Security Notes:
  New

Bug description:
  With our default policy, token revocation can be self-served. Without
  any rate limiting or SIEM mechanism in place, any user can potentially
  flood the revocation_event table to cause significant performance
  degradation or worst DOS. I've attached a simple script to
  continuously revoking one's own token and time the token validation
  time. On a vanilla devstack, with dogpile cache enabled, token
  validation time go from roughly 40ms to over 300ms with about 2K
  revocation events.

  We don't cleanup the revocation events till token expiration plus
  expiration_buffer, which is 30 minutes by default. With the default
  token TTL of 3600 seconds, a user could potentially fill up at least a
  few thousand events during that time.

  I know this may sound like a broken record, and yes, rate limiting or
  SIEM should be used. Perhaps we can add this to security hardening or
  OSSN?

  In the long run, I think we need to rethink how we handle revoke by ID
  as self-service. Now that we have shadow user accounts, maybe we can
  implement something to suspend that user if we detect token revocation
  abuse?

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

-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to : yahoo-eng-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp


[Yahoo-eng-team] [Bug 1558697] Re: [kilo] libvirt block migrations fail due to disk_info being an encoded JSON string

2016-03-30 Thread Tristan Cacqueray
** Changed in: ossa
   Status: Confirmed => Fix Released

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/1558697

Title:
  [kilo] libvirt block migrations fail due to disk_info being an encoded
  JSON string

Status in OpenStack Compute (nova):
  Invalid
Status in OpenStack Compute (nova) kilo series:
  Fix Committed
Status in OpenStack Security Advisory:
  Fix Released

Bug description:
  The fix for OSSA 2016-007 / CVE-2016-2140 in f302bf04 assumed that
  disk_info is always a plain, decoded list. However prior to Liberty
  when preforming a live block migration the compute manager populates
  disk_info with an encoded JSON string when calling
  self.driver.get_instance_disk_info. In the live migration case without
  block migration disk_info remains a plain decoded list.

  More details with an example trace downstream in the following bug :

  live migration without shared storage fails in pre_live_migration after 
upgrade to 2015.1.2-18.2
  https://bugzilla.redhat.com/show_bug.cgi?id=1318722

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

-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to : yahoo-eng-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp


[Yahoo-eng-team] [Bug 1558697] Re: [kilo] libvirt block migrations fail due to disk_info being an encoded JSON string

2016-03-19 Thread Tristan Cacqueray
Since f302bf04 was referenced in the advisory, we may have to send
another ERRATA to include the additional patch. I've added an OSSA task
to keep track of that effort.

** Also affects: ossa
   Importance: Undecided
   Status: New

** Changed in: ossa
   Status: New => Incomplete

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/1558697

Title:
  [kilo] libvirt block migrations fail due to disk_info being an encoded
  JSON string

Status in OpenStack Compute (nova):
  Invalid
Status in OpenStack Compute (nova) kilo series:
  In Progress
Status in OpenStack Security Advisory:
  Incomplete

Bug description:
  The fix for OSSA 2016-007 / CVE-2016-2140 in f302bf04 assumed that
  disk_info is always a plain, decoded list. However prior to Liberty
  when preforming a live block migration the compute manager populates
  disk_info with an encoded JSON string when calling
  self.driver.get_instance_disk_info. In the live migration case without
  block migration disk_info remains a plain decoded list.

  More details with an example trace downstream in the following bug :

  live migration without shared storage fails in pre_live_migration after 
upgrade to 2015.1.2-18.2
  https://bugzilla.redhat.com/show_bug.cgi?id=1318722

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

-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to : yahoo-eng-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp


[Yahoo-eng-team] [Bug 1548450] Re: [OSSA 2016-007] Host data leak during resize/migrate for raw-backed instances (CVE-2016-2140)

2016-03-14 Thread Tristan Cacqueray
** Changed in: ossa
   Status: Fix Committed => Fix Released

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/1548450

Title:
  [OSSA 2016-007] Host data leak during resize/migrate for raw-backed
  instances (CVE-2016-2140)

Status in OpenStack Compute (nova):
  Fix Released
Status in OpenStack Compute (nova) kilo series:
  Fix Committed
Status in OpenStack Compute (nova) liberty series:
  Fix Committed
Status in OpenStack Security Advisory:
  Fix Released

Bug description:
  First, a caveat. This report is from code inspection only. I haven't
  attempted to replicate it, and I have no immediate plans to. It's
  possible it doesn't exist due to an interaction which isn't
  immediately obvious.

  When resizing an instance using the libvirt driver, we run
  LibvirtDriver.migrate_disk_and_power_off on the source host. If there
  is no shared storage, data is copied. Specifically, there's a loop in
  that function which loops over disk info:

  for info in disk_info:
  # assume inst_base == dirname(info['path'])
  ...
  copy the disk

  Note that this doesn't copy disk.info, because it's not a disk. I have
  actually confirmed this whilst investigating another bug.

  The problem with this is that disk.info contains file format
  information, which means that when the instance starts up again, the
  format of all its disks are re-inspected. This is the bug. It means
  that a malicious user can write data to an ephemeral or root disk
  which fakes a qcow2 header, and on re-inspection it will be detected
  as qcow2 and data from a user-specified backing file will be served.

  I am moderately confident that this is a real bug.

  Unlike the previous file format bug I reported, though, this bug would
  be mitigated by the fact that the user would have to access the disk
  via libvirt/qemu. Assuming they haven't disabled SELinux (nobody does
  that, right?) this severely limits the data which can be accessed,
  possibly to the point that it isn't worth exploiting. I also believe
  it would only be exploitable on deployments using raw storage, which I
  believe isn't common.

  Given that I don't think it's all that serious in practise, I'm not
  going to work on this immediately as I don't have the time. If it's
  still around when I'm less busy I'll pick it up.

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

-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to : yahoo-eng-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp


[Yahoo-eng-team] [Bug 1129748] Re: image files in _base should not be world-readable

2016-02-29 Thread Tristan Cacqueray
The /var/lib/nova/instances directory is likely to be a packaging issue,
I don't know how disk image mode bits are set, but at least the disk
info is explicitly written as 644 by nova/virt/libvirt/imagebackend.py.

Anyway I closed the OSSA task since multi-user system is not a realistic
threat for openstack system.

** Changed in: ossa
   Status: Incomplete => Won't Fix

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/1129748

Title:
  image files in _base should not be world-readable

Status in OpenStack Compute (nova):
  Opinion
Status in OpenStack Security Advisory:
  Won't Fix

Bug description:
  Already public in https://bugzilla.redhat.com/show_bug.cgi?id=896085 ,
  so probably no point making this private.  But I checked the security
  vulnerability box anyway so someone else can decide.

  We create image files in /var/lib/nova/instances/_base with default
  permissions, usually 644.  It would be better to not make the image
  files world-readable, in case they contain private data.

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

-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to : yahoo-eng-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp


[Yahoo-eng-team] [Bug 1129748] Re: image files in _base should not be world-readable

2016-02-26 Thread Tristan Cacqueray
Since this report concerns a possible security risk, an incomplete
security advisory task has been added while the core security reviewers
for the affected project or projects confirm the bug and discuss the
scope of any vulnerability along with potential solutions.

I agree with Robert, this expose OpenStack user instance data to all
context running on the compute node. Shell users aside, I fail to see
why would apache or even the nobody user be allowed to list and read
disk files.

** Also affects: ossa
   Importance: Undecided
   Status: New

** Changed in: ossa
   Status: New => Incomplete

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/1129748

Title:
  image files in _base should not be world-readable

Status in OpenStack Compute (nova):
  Opinion
Status in OpenStack Security Advisory:
  Incomplete

Bug description:
  Already public in https://bugzilla.redhat.com/show_bug.cgi?id=896085 ,
  so probably no point making this private.  But I checked the security
  vulnerability box anyway so someone else can decide.

  We create image files in /var/lib/nova/instances/_base with default
  permissions, usually 644.  It would be better to not make the image
  files world-readable, in case they contain private data.

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

-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to : yahoo-eng-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp


[Yahoo-eng-team] [Bug 1545789] Re: keystone ADMIN_TOKEN set by default can lead to default insecure deployment

2016-02-15 Thread Tristan Cacqueray
Agreed on the B1 (insecure default value), and I added an OSSN task for an 
eventual Security Note.
Thank!

** Also affects: ossn
   Importance: Undecided
   Status: New

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Identity (keystone).
https://bugs.launchpad.net/bugs/1545789

Title:
  keystone ADMIN_TOKEN set by default can lead to default insecure
  deployment

Status in OpenStack Identity (keystone):
  Triaged
Status in OpenStack Security Notes:
  New

Bug description:
  The Keystone configuration sets the ADMIN_TOKEN option to "ADMIN" by
  default, which means that unless the deployment specifically changes
  this value to a secure value, the filter "admin_auth_token" will
  accept the value of "ADMIN" as an all-access administrative token for
  the openstack deployment (when interacting with keystone).

  
https://github.com/openstack/keystone/blob/406fbfaa2689255fb54cf1eb07403f392c735c53/keystone/common/config.py#L49-L56

  The fix will be to make this value "None" by default, and if the
  option is unset, the "admin_token_auth" filter will simply pass,
  continuing to allow normal credentials to work.

  This is a CLASS B1 (my assessment) https://security.openstack.org/vmt-
  process.html#incident-report-taxonomy

  This bug was opened so we can issue an OSSA/OSSN with the fix.

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

-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to : yahoo-eng-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp


[Yahoo-eng-team] [Bug 1540208] Re: CSRF mechanism is not safe.

2016-02-08 Thread Tristan Cacqueray
** Changed in: ossa
   Status: Incomplete => Won't Fix

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Dashboard (Horizon).
https://bugs.launchpad.net/bugs/1540208

Title:
  CSRF mechanism is not safe.

Status in OpenStack Dashboard (Horizon):
  Invalid
Status in OpenStack Security Advisory:
  Won't Fix

Bug description:
  I'm using burp suite to check secure of horizon 8.0.0.0. CSRF
  mechanism   is not safe.

  I saw : csrftoken equals with csrfmidlewaretoken ==> the reques is
  valid.

  Example: Do update network's name.

  The first request: 
   - I got csrftoken and csrfmidlewaretoken: PvVPmsOEqepSWnWgJa1GKYtBxcSXMTu1
  -  network's name :  attt_net_test_129

  then I change  csrftoken and csrfmidlewaretoken to "1" ,  network 's
  name value to "attt_net_test_121"

  Final, do send request ==> Network is updated succesfuly. (attach
  file)

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

-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to : yahoo-eng-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp


[Yahoo-eng-team] [Bug 1525915] Re: [OSSA 2016-006] Normal user can change image status if show_multiple_locations has been set to true (CVE-2016-0757)

2016-02-08 Thread Tristan Cacqueray
** Description changed:

- This issue is being treated as a potential security risk under embargo.
- Please do not make any public mention of embargoed (private) security
- vulnerabilities before their coordinated publication by the OpenStack
- Vulnerability Management Team in the form of an official OpenStack
- Security Advisory. This includes discussion of the bug or associated
- fixes in public forums such as mailing lists, code review systems and
- bug trackers. Please also avoid private disclosure to other individuals
- not already approved for access to this information, and provide this
- same reminder to those who are made aware of the issue prior to
- publication. All discussion should remain confined to this private bug
- report, and any proposed fixes should be added to the bug as
- attachments.
- 
- --
- 
  User (non admin) can set image back to queued state by deleting
  location(s) from image when "show_multiple_locations" config parameter
  has been set to true.
  
  This breaks the immutability promise glance has similar way as described
  in OSSA 2015-019 as the image gets transitioned from active to queued
  and new image data can be uploaded.
  
  ubuntu@devstack-02:~/devstack$ glance image-show 
f4bb4c9e-71ba-4a8c-b70a-640dbe37b3bc
  
+--+--+
  | Property | Value
|
  
+--+--+
  | checksum | eb9139e4942121f22bbc2afc0400b2a4 
|
  | container_format | ami  
|
  | created_at   | 2015-12-14T09:58:54Z 
|
  | disk_format  | ami  
|
  | id   | f4bb4c9e-71ba-4a8c-b70a-640dbe37b3bc 
|
  | locations| [{"url": 
"file:///opt/stack/data/glance/images/f4bb4c9e-71ba-4a8c-b70a-  |
  |  | 640dbe37b3bc", "metadata": {}}]  
|
  | min_disk | 0
|
  | min_ram  | 0
|
  | name | cirros-test  
|
  | owner| ab69274aa31a4fba8bf559af2b0b98bd 
|
  | protected| False
|
  | size | 25165824 
|
  | status   | active   
|
  | tags | []   
|
  | updated_at   | 2015-12-14T09:58:54Z 
|
  | virtual_size | None 
|
  | visibility   | private  
|
  
+--+--+
  ubuntu@devstack-02:~/devstack$ glance location-delete --url 
file:///opt/stack/data/glance/images/f4bb4c9e-71ba-4a8c-b70a-640dbe37b3bc 
f4bb4c9e-71ba-4a8c-b70a-640dbe37b3bc
  
  ubuntu@devstack-02:~/devstack$ glance image-show 
f4bb4c9e-71ba-4a8c-b70a-640dbe37b3bc
  +--+--+
  | Property | Value|
  +--+--+
  | checksum | eb9139e4942121f22bbc2afc0400b2a4 |
  | container_format | ami  |
  | created_at   | 2015-12-14T09:58:54Z |
  | disk_format  | ami  |
  | id   | f4bb4c9e-71ba-4a8c-b70a-640dbe37b3bc |
  | locations| []   |
  | min_disk | 0|
  | min_ram  | 0|
  | name | cirros-test  |
  | owner| ab69274aa31a4fba8bf559af2b0b98bd |
  | protected| False|
  | size | None |
  | status   | queued   |
  | tags | []   |
  | updated_at   | 2015-12-14T13:43:23Z 

[Yahoo-eng-team] [Bug 1528676] Re: OpenLDAP password policy not enforced for password changes

2016-02-01 Thread Tristan Cacqueray
Agreed on class D, I closed the OSSA task, this could be re-opened
whenever the situation changes.

** Changed in: ossa
   Status: Incomplete => Won't Fix

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Identity (keystone).
https://bugs.launchpad.net/bugs/1528676

Title:
  OpenLDAP password policy not enforced for password changes

Status in OpenStack Identity (keystone):
  New
Status in OpenStack Security Advisory:
  Won't Fix

Bug description:
  Hello there,
  I'm on Ubuntu 14.04.3, Openstack Juno and OpenLDAP v2.4.31 releases.
  I configured OpenLDAP as an identity backend for Keystone and configured it 
according to official documentation from:
  http://docs.openstack.org/developer/keystone/configuration.html
  I'd like my users to be able to change their own passwords, but at the same 
time OpenLDAP password policy to be enforced upon password changes. I've set to 
true all allow_creates, allow_updates and allow_deletes not to be restricted in 
any way by keystone.
  The problem is the following: RootDN account is used for binding when the 
user is changing his/her password. OpenLDAP password policy is not enforced 
when RootDN performs the password change. As a result, no password policy is 
enforced during password change.
  If I don't set LDAP user/password in keystone.conf, then users cannot change 
their own passwords at all.
  Please recommend how I can allow the users to change their own passwords and 
at the same time enforce OpenLDAP password policy.
  Thank you,
  Nodir

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

-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to : yahoo-eng-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp


[Yahoo-eng-team] [Bug 1490804] Re: [OSSA 2015-005] PKI Token Revocation Bypass (CVE-2015-7546)

2016-01-29 Thread Tristan Cacqueray
** Summary changed:

- [OSSA 2015-006] PKI Token Revocation Bypass (CVE-2015-7546)
+ [OSSA 2015-005] PKI Token Revocation Bypass (CVE-2015-7546)

** Changed in: ossa
   Status: Confirmed => Fix Released

** Summary changed:

- [OSSA 2015-005] PKI Token Revocation Bypass (CVE-2015-7546)
+ [OSSA 2016-005] PKI Token Revocation Bypass (CVE-2015-7546)

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Identity (keystone).
https://bugs.launchpad.net/bugs/1490804

Title:
  [OSSA 2016-005] PKI Token Revocation Bypass (CVE-2015-7546)

Status in django-openstack-auth:
  Invalid
Status in OpenStack Identity (keystone):
  Fix Released
Status in OpenStack Identity (keystone) kilo series:
  Fix Committed
Status in keystonemiddleware:
  Fix Released
Status in OpenStack Security Advisory:
  Fix Released
Status in OpenStack Security Notes:
  Fix Released
Status in python-keystoneclient:
  Won't Fix

Bug description:
  A keystone token which has been revoked can still be used by manipulating 
particular byte fields within the token.
  When a Keystone token is revoked it is added to the revoked list which stores 
the exact token value. Any API will look at the token to see whether or not it 
should accept a token. By changing a single byte within the token, the 
revocation can be bypassed.  see the testing script [1].

  It is suggested that the revocation should be changed to only check
  the token's inner ID.

  [1] http://paste.openstack.org/show/436516/

To manage notifications about this bug go to:
https://bugs.launchpad.net/django-openstack-auth/+bug/1490804/+subscriptions

-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to : yahoo-eng-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp


[Yahoo-eng-team] [Bug 1534232] Re: Glance is still using outdated md5 for image signing

2016-01-18 Thread Tristan Cacqueray
*** This bug is a duplicate of bug 1516031 ***
https://bugs.launchpad.net/bugs/1516031

** Information type changed from Private Security to Public

** Changed in: ossa
   Status: Incomplete => Won't Fix

** This bug has been marked a duplicate of bug 1516031
   Use of MD5 in OpenStack Glance image signature (CVE-2015-8234)

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

Title:
  Glance is still using outdated md5 for image signing

Status in Glance:
  New
Status in OpenStack Security Advisory:
  Won't Fix

Bug description:
  This issue is being treated as a potential security risk under
  embargo. Please do not make any public mention of embargoed (private)
  security vulnerabilities before their coordinated publication by the
  OpenStack Vulnerability Management Team in the form of an official
  OpenStack Security Advisory. This includes discussion of the bug or
  associated fixes in public forums such as mailing lists, code review
  systems and bug trackers. Please also avoid private disclosure to
  other individuals not already approved for access to this information,
  and provide this same reminder to those who are made aware of the
  issue prior to publication. All discussion should remain confined to
  this private bug report, and any proposed fixes should be added to the
  bug as attachments.

  --

  Glance is still using md5 for image signing. MD5 is outdated and
  should not be used for security reason. It makes it possible for
  malicious users to generate malicious image  with same hash values.

  
https://specs.openstack.org/openstack/glance-specs/specs/liberty/image-signing-and-verification-support.html
  Glance already supports computing checksums of images when an image is 
uploaded, and this checksum is stored with the image. This same hash (which by 
default is MD5) will be used for the signature verification.

  In the code:
  
https://github.com/openstack/glance/blob/2682dfe2000604bd1a77cfad5ad259f084a1359f/glance/image_cache/__init__.py

  line 242:
   def cache_tee_iter(self, image_id, image_iter, image_checksum):
  try:
  current_checksum = hashlib.md5()

  with self.driver.open_for_write(image_id) as cache_file:
  for chunk in image_iter:
  try:
  cache_file.write(chunk)
  finally:
  current_checksum.update(chunk)
  yield chunk
  cache_file.flush()

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

-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to : yahoo-eng-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp


[Yahoo-eng-team] [Bug 1534322] Re: On new port, traffic flow is allowed before security groups are programmed

2016-01-15 Thread Tristan Cacqueray
I've removed the privacy settings and put the OSSA tasks as Won't Fix
since it's a C1 type of bug (according to VMT taxonomy
https://security.openstack.org/vmt-process.html#incident-report-taxonomy
), This can be put back to incomplete if the situation changes.

** Information type changed from Private Security to Public

** Changed in: ossa
   Status: Incomplete => Won't Fix

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

Title:
  On new port, traffic flow is allowed before security groups are
  programmed

Status in neutron:
  Triaged
Status in OpenStack Security Advisory:
  Won't Fix

Bug description:
  This issue is being treated as a potential security risk under
  embargo. Please do not make any public mention of embargoed (private)
  security vulnerabilities before their coordinated publication by the
  OpenStack Vulnerability Management Team in the form of an official
  OpenStack Security Advisory. This includes discussion of the bug or
  associated fixes in public forums such as mailing lists, code review
  systems and bug trackers. Please also avoid private disclosure to
  other individuals not already approved for access to this information,
  and provide this same reminder to those who are made aware of the
  issue prior to publication. All discussion should remain confined to
  this private bug report, and any proposed fixes should be added to the
  bug as attachments.

  --

  Description:
  During the creation of a neutron port, in the ovs_neutron_agent, traffic flow 
is enabled shortly before security groups are programmed.

  File: neutron/plugins/ml2/drivers/openvswitch/agent/ovs_neutron_agent.py
  Funtion: process_network_ports

  Step-by-step:
  During the creation of a neutron port, the following calls are made:
  - treat_devices_added_or_updated
  - sg_agent.setup_port_filters
  - _bind_devices

  Before early November, process_network_ports called
  sg_agent.setup_port_filters before it called _bind_devices. This meant
  that security groups were programmed before traffic flow is enabled by
  _bind_devices, which sets the port-lvm mapping in br-int.

  Bug #1512636 reversed this order of operation, so that _bind_devices
  is called before sg_agent.setup_port_filters. This opens up a brief
  security hole, allowing traffic to flow for a short time before
  security groups are applied.

  Proposed solution:
  Revert bug# 1512636

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

-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to : yahoo-eng-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp


[Yahoo-eng-team] [Bug 1524274] Re: [OSSA 2016-001] Unprivileged api user can access host data using instance snapshot (CVE-2015-7548)

2016-01-07 Thread Tristan Cacqueray
** Changed in: ossa
   Status: Fix Committed => Fix Released

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/1524274

Title:
  [OSSA 2016-001] Unprivileged api user can access host data using
  instance snapshot (CVE-2015-7548)

Status in OpenStack Compute (nova):
  In Progress
Status in OpenStack Security Advisory:
  Fix Released

Bug description:
  This issue is being treated as a potential security risk under
  embargo. Please do not make any public mention of embargoed (private)
  security vulnerabilities before their coordinated publication by the
  OpenStack Vulnerability Management Team in the form of an official
  OpenStack Security Advisory. This includes discussion of the bug or
  associated fixes in public forums such as mailing lists, code review
  systems and bug trackers. Please also avoid private disclosure to
  other individuals not already approved for access to this information,
  and provide this same reminder to those who are made aware of the
  issue prior to publication. All discussion should remain confined to
  this private bug report, and any proposed fixes should be added to the
  bug as attachments.

  There is a qcow2 format vulnerability in LibvirtDriver.snapshot. The
  impact is that on an affected system, an unprivileged api user can
  retrieve any file on the host readable by the nova user. This includes
  guest data of other instances on the same host, and credentials used
  by nova to access other services externally.

  LibvirtDriver.snapshot does:

  source_format = libvirt_utils.get_disk_type(disk_path)
  ...
  snapshot_backend = self.image_backend.snapshot(instance,
  disk_path,
  image_type=source_format)
  ...
  snapshot_backend.snapshot_extract(out_path, image_format)

  libvirt_utils.get_disk_type falls back to image inspection for disks
  which are not lvm, rbd or ploop, which means raw and qcow2 images.

  The vulnerability only exists when a user can write to a raw volume
  which is later erroneously detected as qcow2. This means that the
  vulnerability is only present on systems using the libvirt driver
  which have defined use_cow_images=False in nova.conf. This is not the
  default, so by default nova is not vulnerable.

  libvirt.utils.extract_snapshot() expects to be reading from an
  instance disk and writing to a temporary directory created by nova for
  storing snapshots before transferring them to glance. As nova directly
  creates this directory and its contents, the 'qemu-img convert'
  process does not need to run privileged. This means that the exposure
  is limited to files directly readable by the nova user.

  Unfortunately, as is clear from the context this includes all instance
  data which, despite being owned by the qemu user, is world readable.
  Additionally, because the qemu-img process is executed by nova
  directly, it does not benefit from any confinement by libvirt.
  Specifically, SELinux is not likely to be a defence on a typical
  deployment.

  I have tested this exploit on a Fedora 23 system running devstack as
  of 8th Dec 2015:

  Ensure nova.conf contains use_cow_images = False in the DEFAULT
  section.

  As an unprivileged api user, do:
  $ nova boot --image cirros --flavor m1.tiny foo

  Somewhere, run:
  $ qemu-img create -f qcow2 -o backing_file=/etc/passwd bad.qcow2
  Ensure bad.qcow2 is available in the foo instance.

  Log into foo, and execute as root:
  # dd if=bad.qcow2 of=/dev/vda conv=fsync

  As an unprivileged api user, do:
  $ nova image-create foo passwd
  $ glance image-download  --file passwd

  The unprivileged api now has the contents of /etc/passwd from the host
  locally.

  Mitigations:

  Nova is not vulnerable by default. The user must have configured 
use_cow_images=False.
  Nova configurations using ceph or lvm for instance storage are not vulnerable.
  An attacker must know the uuid of another user's instance in order to be able 
to access its data.

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

-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to : yahoo-eng-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp


[Yahoo-eng-team] [Bug 1524675] Re: lbaasv2-agent is logging credentials from barbican

2016-01-05 Thread Tristan Cacqueray
This is a class B3 type of bug (according to
https://security.openstack.org/vmt-process.html#incident-report-taxonomy
)

** Changed in: ossa
   Status: Incomplete => Won't Fix

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

Title:
  lbaasv2-agent is logging credentials from barbican

Status in neutron:
  In Progress
Status in OpenStack Security Advisory:
  Won't Fix

Bug description:
  In liberty, a neutron-lbaasv2-agent is logging credentials retrieved
  from barbican when debug=True. (e.g. cert, private key, passphrase)

  this makes security issue.

  example: http://paste.openstack.org/show/481439/ (part of
  /var/log/neutron/neutron-lbaasv2-agent.log)

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

-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to : yahoo-eng-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp


[Yahoo-eng-team] [Bug 1528676] Re: OpenLDAP password policy not enforced for password changes

2016-01-04 Thread Tristan Cacqueray
Since this report concerns a possible security risk, an incomplete
security advisory task has been added while the core security reviewers
for the affected project or projects confirm the bug and discuss the
scope of any vulnerability along with potential solutions.

** Also affects: ossa
   Importance: Undecided
   Status: New

** Changed in: ossa
   Status: New => Incomplete

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Identity (keystone).
https://bugs.launchpad.net/bugs/1528676

Title:
  OpenLDAP password policy not enforced for password changes

Status in OpenStack Identity (keystone):
  New
Status in OpenStack Security Advisory:
  Incomplete

Bug description:
  Hello there,
  I'm on Ubuntu 14.04.3, Openstack Juno and OpenLDAP v2.4.31 releases.
  I configured OpenLDAP as an identity backend for Keystone and configured it 
according to official documentation from:
  http://docs.openstack.org/developer/keystone/configuration.html
  I'd like my users to be able to change their own passwords, but at the same 
time OpenLDAP password policy to be enforced upon password changes. I've set to 
true all allow_creates, allow_updates and allow_deletes not to be restricted in 
any way by keystone.
  The problem is the following: RootDN account is used for binding when the 
user is changing his/her password. OpenLDAP password policy is not enforced 
when RootDN performs the password change. As a result, no password policy is 
enforced during password change.
  If I don't set LDAP user/password in keystone.conf, then users cannot change 
their own passwords at all.
  Please recommend how I can allow the users to change their own passwords and 
at the same time enforce OpenLDAP password policy.
  Thank you,
  Nodir

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

-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to : yahoo-eng-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp


[Yahoo-eng-team] [Bug 1526244] Re: Able to create objects by admin in the particular domain, for incorrect domain Id field name "domain-id".

2015-12-21 Thread Tristan Cacqueray
According to VMT taxonomy, this is a class E.

** Changed in: ossa
   Status: Incomplete => Won't Fix

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Identity (keystone).
https://bugs.launchpad.net/bugs/1526244

Title:
  Able to create objects by admin in the particular domain, for
  incorrect domain Id field name "domain-id".

Status in OpenStack Identity (keystone):
  In Progress
Status in OpenStack Security Advisory:
  Won't Fix

Bug description:
  Admin is able to create objects(user,group,.) in a particular domain,
  though field name is misspelt as "domain-id" instead of "domain_id".

  Step Followed: User creation by admin with incorrect field name
  "domain-id"

  ubuntu@ubuntu:~$ curl -i -k -X POST -H "Content-Type: application/json" -H 
"X-AUTH-TOKEN:ae5ed453cf444969953850532cb9b581" /v3/users -d '{
  > "user":
  > {
  > "name":"User Pwr Ranger 50",
  > "password":"pwd",
  > "description":"User Creation in another domain",
  > "domain-id":"37a09709db404e7d97f8a211ebebc93f"
  > }
  > }'
  HTTP/1.1 201 Created
  Date: Fri, 13 Nov 2015 12:38:22 GMT
  Server: Apache/2.4.7 (Ubuntu)
  Vary: X-Auth-Token
  x-openstack-request-id: req-1cc05a23-065f-4a25-9fcd-90fa827722d3
  Content-Length: 290
  Content-Type: application/json

  {"user": {"links": {"self":
  "/v3/users/90776556002948dfb44227aef3b042e7"},
  "description": "User Creation in another domain", "name": "User Pwr
  Ranger 50", "enabled": true, "id": "90776556002948dfb44227aef3b042e7",
  "domain_id": "37a09709db404e7d97f8a211ebebc93f"}}

  The user got created in a specified domain "domain-
  id":"37a09709db404e7d97f8a211ebebc93f", even though domain Id field is
  misspelt as "domain-id" instead of "domain_id".

  Hence the issue has to be resolved by creating objects in "default"
  domain when the field name is spelt wrongly.

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

-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to : yahoo-eng-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp


[Yahoo-eng-team] [Bug 1522524] Re: User can delete deactivated images

2015-12-15 Thread Tristan Cacqueray
Until a clear consensus about whenever this bug caused an actual
security vulnerability, the OSSA task is now Won't Fix.

** Changed in: ossa
   Status: Confirmed => Won't Fix

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

Title:
  User can delete deactivated images

Status in Glance:
  In Progress
Status in OpenStack Security Advisory:
  Won't Fix

Bug description:
  
  Overview:

  
  In glance once an admin has marked a image as deactivated a user can no 
longer download or delete that image. This is so an image can be inspected by 
the admins without the user interfering.
  However, these restrictions can be avoided specifically allowing a user to 
delete a deactivated image. Meaning an admin would not be able to guarantee the 
status of a deactivated image.

  What should happen: 403 What does happen: 200

  How to reproduce:
  1. Create an image.
  echo test | glance image-create --name 3 --container-format bare 
--disk-format raw

  2. Deactivate the image.
  glance image-deactivate 0630d5e4-6009-4723-94e6-1ad056ab649a

  3. Check image is deactivated.
  glance image-show 0630d5e4-6009-4723-94e6-1ad056ab649a

  4. Using the v1 API delete the image.
  curl -X DELETE 
http://localhost:9292/v1/images/0630d5e4-6009-4723-94e6-1ad056ab649a -H 
'X-Auth-token: 108322e43f6346ebadb3c2fb72831913'

  5. Image is now gone.
  glance image-show 0630d5e4-6009-4723-94e6-1ad056ab649a

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

-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to : yahoo-eng-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp


[Yahoo-eng-team] [Bug 1515444] Re: Routed ICMP v6 traffic goes through with no security group rules with DVR

2015-12-07 Thread Tristan Cacqueray
** Information type changed from Private Security to Public

** Changed in: ossa
   Status: Incomplete => Won't Fix

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

Title:
  Routed ICMP v6 traffic goes through with no security group rules  with
  DVR

Status in neutron:
  Invalid
Status in OpenStack Security Advisory:
  Won't Fix

Bug description:
  This issue is being treated as a potential security risk under
  embargo. Please do not make any public mention of embargoed (private)
  security vulnerabilities before their coordinated publication by the
  OpenStack Vulnerability Management Team in the form of an official
  OpenStack Security Advisory. This includes discussion of the bug or
  associated fixes in public forums such as mailing lists, code review
  systems and bug trackers. Please also avoid private disclosure to
  other individuals not already approved for access to this information,
  and provide this same reminder to those who are made aware of the
  issue prior to publication. All discussion should remain confined to
  this private bug report, and any proposed fixes should be added to the
  bug as attachments.

  -

  V6 traffic flows between two dual stacked instances connected via DVR
  despite absence of security group rule allowing so. V4 traffic is
  blocked.

  Build: Master Nov. 11/11/15
  Setup: One controller/Network node, Two Compute nodes.

  Steps:
  1. create net1 and net2.
  2. create IPv4 and IPv6 subnet(slaac/slaac*) on each network.
  3. create DVR.
  4. Add router interface for each of four subnets to DVR.
  5. Boot instance with nic on net1 and other with nic on net2.
  6. Delete all security group rules if any exists.
  7. Ping6 v6 IP from one instance to the other.

  Expected: Traffic does not go through.
  Observed: Traffic goes through.

  *also observed with dhcpv6-stateful addressing.

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

-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to : yahoo-eng-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp


[Yahoo-eng-team] [Bug 1449062] Re: qemu-img calls need to be restricted by ulimit (CVE-2015-5162)

2015-12-03 Thread Tristan Cacqueray
The proposed change did not effectively fixed that issue.

** Changed in: nova
   Status: Fix Released => Confirmed

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/1449062

Title:
  qemu-img calls need to be restricted by ulimit (CVE-2015-5162)

Status in Cinder:
  New
Status in Glance:
  In Progress
Status in OpenStack Compute (nova):
  Confirmed
Status in OpenStack Security Advisory:
  Confirmed

Bug description:
  Reported via private E-mail from Richard W.M. Jones.

  Turns out qemu image parser is not hardened against malicious input
  and can be abused to allocated an arbitrary amount of memory and/or
  dump a lot of information when used with "--output=json".

  The solution seems to be: limit qemu-img ressource using ulimit.

  Example of abuse:

  -- afl1.img --

  $ /usr/bin/time qemu-img info afl1.img
  image: afl1.img
  [...]
  0.13user 0.19system 0:00.36elapsed 92%CPU (0avgtext+0avgdata 
642416maxresident)k
  0inputs+0outputs (0major+156927minor)pagefaults 0swaps

  The original image is 516 bytes, but it causes qemu-img to allocate
  640 MB.

  -- afl2.img --

  $ qemu-img info --output=json afl2.img | wc -l
  589843

  This is a 200K image which causes qemu-img info to output half a
  million lines of JSON (14 MB of JSON).

  Glance runs the --output=json variant of the command.

  -- afl3.img --

  $ /usr/bin/time qemu-img info afl3.img
  image: afl3.img
  [...]
  0.09user 0.35system 0:00.47elapsed 94%CPU (0avgtext+0avgdata 
1262388maxresident)k
  0inputs+0outputs (0major+311994minor)pagefaults 0swaps

  qemu-img allocates 1.3 GB (actually, a bit more if you play with
  ulimit -v).  It appears that you could change it to allocate
  arbitrarily large amounts of RAM.

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

-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to : yahoo-eng-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp


[Yahoo-eng-team] [Bug 1516031] Re: Use of MD5 in OpenStack Glance image signature (CVE-2015-8234)

2015-11-23 Thread Tristan Cacqueray
Since this does not qualify for an OpenStack Security Advisory (OSSA),
I've added an OSSN task to assess if a Security Note would work better
here.

** Also affects: ossn
   Importance: Undecided
   Status: New

** Changed in: ossa
   Status: Incomplete => Won't Fix

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

Title:
  Use of MD5 in OpenStack Glance image signature (CVE-2015-8234)

Status in Glance:
  Triaged
Status in OpenStack Security Advisory:
  Won't Fix
Status in OpenStack Security Notes:
  New

Bug description:
  This have been reported by Daniel P. Berrange:
  "
  In the OpenStack Liberty release, the Glance project added support for image 
signature verification.

  http://specs.openstack.org/openstack/glance-specs/specs/liberty/image-
  signing-and-verification-support.html

  The verification code was added in the following git commit

  
https://github.com/openstack/glance/commit/484ef1b40b738c87adb203bba6107ddb4b04ff6e

  
  Unfortunately the design of this signature verification method is flawed by 
design.

  The generalized approach to creating signatures of content is to apply
  a hash to the content and then encrypt it in some manner. Consider
  that the signature is defined to use hash=sha256 and cipher=rsa we can
  describe the signature computation as

  signature = rsa(sha256(content))

  In the case of verifying a disk image, the content we care about
  verifying is the complete disk image file. Unfortunately, the glance
  specification chose *not* to compute the signature against the disk
  image file. Glance already had an MD5 checksum calculated for the disk
  image file, so they instead chose to compute the signature against the
  MD5 checksum instead. ie glance is running

  signature = rsa(sha256(md5(disk-image-content)))

  This degrades the security of the system to that of the weakest hash,
  which is obviously MD5 here.

  The code where glance verifies the signature is in the
  glance/locations.py, the 'set_data' method where is does

   result = signature_utils.verify_signature(
   self.context, checksum, self.image.extra_properties)
   if result:
   LOG.info(_LI("Successfully verified signature for image %s"),
   self.image.image_id)

  The 'checksum' variable is populate by the glance_store driver, but it
  is hardcoded to always be md5 in all current glance storage backends:

   $ git grep hashlib glance_store/_drivers/ | grep checksum
   glance_store/_drivers/filesystem.py: checksum = hashlib.md5()
   glance_store/_drivers/rbd.py: checksum = hashlib.md5()
   glance_store/_drivers/s3.py: checksum = hashlib.md5()
   glance_store/_drivers/s3.py: checksum = hashlib.md5()
   glance_store/_drivers/sheepdog.py: checksum = hashlib.md5()
   glance_store/_drivers/swift/store.py: checksum =
   hashlib.md5()
   glance_store/_drivers/vmware_datastore.py: self.checksum =
   hashlib.md5()

  
  Since we will soon be shipping OpenStack Liberty release, we need to at least 
give a security notice to alert our customers to the fact that the signature 
verification is cryptographically weak/broken. IMHO, it quite likely deserves a 
CVE though

  NB, this is public knowledge as I first became aware of this flawed
  design in comments / discussion on a public specification proposed to
  implement the same approach in the Nova project.

  My suggested way to fix this is to simply abandon the current impl and
  re-do it such that it directly computes the signature against  the
  disk image, and does not use the existing md5 checksum in any way.

  Regards,
  Daniel
  "

  Mailing list thread for Nova impl: 
http://lists.openstack.org/pipermail/openstack-dev/2015-November/079348.html
  Nova Spec: https://review.openstack.org/#/c/188874/

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

-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to : yahoo-eng-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp


[Yahoo-eng-team] [Bug 1499555] Re: You can crash keystone or make the DB very slow by assigning many roles

2015-11-17 Thread Tristan Cacqueray
Then according to VMT taxonomy ( https://security.openstack.org/vmt-
process.html#incident-report-taxonomy ), this sounds more like a class
D.

** Changed in: ossa
   Status: Incomplete => Won't Fix

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Identity (keystone).
https://bugs.launchpad.net/bugs/1499555

Title:
  You can crash keystone or make the DB very slow by assigning many
  roles

Status in OpenStack Identity (keystone):
  In Progress
Status in OpenStack Security Advisory:
  Won't Fix

Bug description:
  This is applicable for UUID and PKI tokens.

  Token table has extra column where we store role information.  It is a
  blob with 64K limit. Basically we can do the following to fill the
  BLOB

     Say user is U, and Project is P
     for i =1  to  1000 ( or any large number)
  role x = create role i  with some large name
  assign role x for user U and Project P
     create a project scoped token for user U

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

-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to : yahoo-eng-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp


[Yahoo-eng-team] [Bug 1501206] Re: router:dhcp ports are open resolvers

2015-11-17 Thread Tristan Cacqueray
Alright, removing the security class and closing the OSSA task.

** Changed in: ossa
   Status: Incomplete => Won't Fix

** Information type changed from Public Security to Public

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

Title:
  router:dhcp ports are open resolvers

Status in neutron:
  New
Status in OpenStack Security Advisory:
  Won't Fix

Bug description:
  When configuring an public IPv4 subnet with DHCP enabled inside
  Neutron (and attaching it to an Internet-connected router), the DNS
  recursive resolver service provided by dnsmasq inside the qdhcp
  network namespace will respond to DNS queries from the entire
  Internet. This is a huge problem from a security standpoint, as open
  resolvers are very likely to be abused for DDoS purposes. This does
  not only cause significant damage to third parties (i.e., the true
  destination of the DDoS attack and every network in between), but also
  on the local network or servers (due to saturation of all the
  available network bandwidth and/or the processing capacity of the node
  running the dnsmasq instance). Quoting from
  http://openresolverproject.org/:

  «Open Resolvers pose a significant threat to the global network
  infrastructure by answering recursive queries for hosts outside of its
  domain. They are utilized in DNS Amplification attacks and pose a
  similar threat as those from Smurf attacks commonly seen in the late
  1990s.

  [...]

  What can I do?

  If you operate a DNS server, please check the settings.

  Recursive servers should be restricted to your enterprise or customer
  IP ranges to prevent abuse. Directions on securing BIND and Microsoft
  nameservers can be found on the Team CYMRU Website - If you operate
  BIND, you can deploy the TCP-ANY patch»

  It seems reasonable to expect that the dnsmasq instance within Neutron
  would only respond to DNS queries from the subnet prefixes it is
  associated with and ignore all others.

  Note that this only occurs for IPv4. That is however likely just a
  symptom of bug #1499170, which breaks all IPv6 DNS queries (external
  as well as internal). I would assume that when bug #1499170 is fixed,
  the router:dhcp ports will immediately start being open resolvers over
  IPv6 too.

  For what it's worth, the reason I noticed this issue in the first
  place was that NorCERT (the national Norwegian Computer Emergency
  Response Team - http://www.cert.no/) got in touch with us, notifying
  us about the open resolvers they had observed in our network and
  insisted that we lock them down ASAP. It only took NorCERT couple of
  days after the subnet was first created to do so.

  Tore

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

-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to : yahoo-eng-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp


[Yahoo-eng-team] [Bug 1511061] Re: Images in inconsistent state when calls to registry fail during image deletion

2015-11-17 Thread Tristan Cacqueray
Thanks Erno, I've removed the OSSA task

** Changed in: ossa
   Status: Incomplete => Won't Fix

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

Title:
  Images in inconsistent state when calls to registry fail during image
  deletion

Status in Glance:
  Triaged
Status in Glance juno series:
  New
Status in Glance kilo series:
  New
Status in Glance liberty series:
  New
Status in OpenStack Security Advisory:
  Won't Fix

Bug description:
  [0] shows a sample image that was left in an inconsistent state when a
  call to registry failed during image deletion.

  Glance v1 API makes two registry calls when deleting an image.
  The first call [1] is made to to set the status of an image to 
deleted/pending_delete.
  And, the other [2], to delete the rest of the metadata, which sets 
'deleted_at' and 'deleted' fields in the db.

  If the first call fails, the image deletion request fails and the image is 
left intact in it's previous status.
  However, if the first call succeeds and the second one fails, the image is 
left in an inconsistent status where it's status is set to 
pending_delete/deleted but it's 'deleted_at' and 'deleted' fields are not set.

  If delayed delete is turned on, these images are never collected by the 
scrubber as they won't appear as deleted images because their deleted field is 
not set. So, these images will continue to occupy storage in the backend.
  Also, further attempts at deleting these images will fail with a 404 because 
the status is already set to pending_delete/deleted.

  [0] http://paste.openstack.org/show/477577/
  [1]: 
https://github.com/openstack/glance/blob/master/glance/api/v1/images.py#L1115-L1116
  [2]: 
https://github.com/openstack/glance/blob/master/glance/api/v1/images.py#L1132

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

-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to : yahoo-eng-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp


[Yahoo-eng-team] [Bug 1516031] [NEW] Use of MD5 in OpenStack Glance image signature

2015-11-13 Thread Tristan Cacqueray
*** This bug is a security vulnerability ***

Public security bug reported:

This have been reported by Daniel P. Berrange:
"
In the OpenStack Liberty release, the Glance project added support for image 
signature verification.

http://specs.openstack.org/openstack/glance-specs/specs/liberty/image-
signing-and-verification-support.html

The verification code was added in the following git commit

https://github.com/openstack/glance/commit/484ef1b40b738c87adb203bba6107ddb4b04ff6e


Unfortunately the design of this signature verification method is flawed by 
design.

The generalized approach to creating signatures of content is to apply a
hash to the content and then encrypt it in some manner. Consider that
the signature is defined to use hash=sha256 and cipher=rsa we can
describe the signature computation as

signature = rsa(sha256(content))

In the case of verifying a disk image, the content we care about
verifying is the complete disk image file. Unfortunately, the glance
specification chose *not* to compute the signature against the disk
image file. Glance already had an MD5 checksum calculated for the disk
image file, so they instead chose to compute the signature against the
MD5 checksum instead. ie glance is running

signature = rsa(sha256(md5(disk-image-content)))

This degrades the security of the system to that of the weakest hash,
which is obviously MD5 here.

The code where glance verifies the signature is in the
glance/locations.py, the 'set_data' method where is does

 result = signature_utils.verify_signature(
 self.context, checksum, self.image.extra_properties)
 if result:
 LOG.info(_LI("Successfully verified signature for image %s"),
 self.image.image_id)

The 'checksum' variable is populate by the glance_store driver, but it
is hardcoded to always be md5 in all current glance storage backends:

 $ git grep hashlib glance_store/_drivers/ | grep checksum
 glance_store/_drivers/filesystem.py: checksum = hashlib.md5()
 glance_store/_drivers/rbd.py: checksum = hashlib.md5()
 glance_store/_drivers/s3.py: checksum = hashlib.md5()
 glance_store/_drivers/s3.py: checksum = hashlib.md5()
 glance_store/_drivers/sheepdog.py: checksum = hashlib.md5()
 glance_store/_drivers/swift/store.py: checksum =
 hashlib.md5()
 glance_store/_drivers/vmware_datastore.py: self.checksum =
 hashlib.md5()


Since we will soon be shipping OpenStack Liberty release, we need to at least 
give a security notice to alert our customers to the fact that the signature 
verification is cryptographically weak/broken. IMHO, it quite likely deserves a 
CVE though

NB, this is public knowledge as I first became aware of this flawed
design in comments / discussion on a public specification proposed to
implement the same approach in the Nova project.

My suggested way to fix this is to simply abandon the current impl and
re-do it such that it directly computes the signature against  the disk
image, and does not use the existing md5 checksum in any way.

Regards,
Daniel
"

Mailing list thread for Nova impl: 
http://lists.openstack.org/pipermail/openstack-dev/2015-November/079348.html
Nova Spec: https://review.openstack.org/#/c/188874/

** Affects: glance
 Importance: Undecided
 Status: New

** Affects: ossa
 Importance: Undecided
 Status: Incomplete

** Also affects: ossa
   Importance: Undecided
   Status: New

** Changed in: ossa
   Status: New => Incomplete

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

Title:
  Use of MD5 in OpenStack Glance image signature

Status in Glance:
  New
Status in OpenStack Security Advisory:
  Incomplete

Bug description:
  This have been reported by Daniel P. Berrange:
  "
  In the OpenStack Liberty release, the Glance project added support for image 
signature verification.

  http://specs.openstack.org/openstack/glance-specs/specs/liberty/image-
  signing-and-verification-support.html

  The verification code was added in the following git commit

  
https://github.com/openstack/glance/commit/484ef1b40b738c87adb203bba6107ddb4b04ff6e

  
  Unfortunately the design of this signature verification method is flawed by 
design.

  The generalized approach to creating signatures of content is to apply
  a hash to the content and then encrypt it in some manner. Consider
  that the signature is defined to use hash=sha256 and cipher=rsa we can
  describe the signature computation as

  signature = rsa(sha256(content))

  In the case of verifying a disk image, the content we care about
  verifying is the complete disk image file. Unfortunately, the glance
  specification chose *not* to compute the signature against the disk
  image file. Glance already had an MD5 checksum calculated for the disk
  image file, so they instead chose to compute the signature against the
  MD5 checksum instead. ie glance is running

  signature = rsa(sha256(md5(disk-image-content)))

 

[Yahoo-eng-team] [Bug 1511061] Re: Images in inconsistent state when calls to registry fail during image deletion

2015-10-29 Thread Tristan Cacqueray
Since this report concerns a possible security risk, an incomplete
security advisory task has been added while the core security reviewers
for the affected project or projects confirm the bug and discuss the
scope of any vulnerability along with potential solutions.

Can user make the image deletion to fail ? e.g., can this be abused
trivially ?

** Also affects: ossa
   Importance: Undecided
   Status: New

** Changed in: ossa
   Status: New => Incomplete

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

Title:
  Images in inconsistent state when calls to registry fail during image
  deletion

Status in Glance:
  Triaged
Status in Glance juno series:
  New
Status in Glance kilo series:
  New
Status in Glance liberty series:
  New
Status in OpenStack Security Advisory:
  Incomplete

Bug description:
  [0] shows a sample image that was left in an inconsistent state when a
  call to registry failed during image deletion.

  Glance v1 API makes two registry calls when deleting an image.
  The first call [1] is made to to set the status of an image to 
deleted/pending_delete.
  And, the other [2], to delete the rest of the metadata, which sets 
'deleted_at' and 'deleted' fields in the db.

  If the first call fails, the image deletion request fails and the image is 
left intact in it's previous status.
  However, if the first call succeeds and the second one fails, the image is 
left in an inconsistent status where it's status is set to 
pending_delete/deleted but it's 'deleted_at' and 'deleted' fields are not set.

  If delayed delete is turned on, these images are never collected by the 
scrubber as they won't appear as deleted images because their deleted field is 
not set. So, these images will continue to occupy storage in the backend.
  Also, further attempts at deleting these images will fail with a 404 because 
the status is already set to pending_delete/deleted.

  [0] http://paste.openstack.org/show/477577/
  [1]: 
https://github.com/openstack/glance/blob/master/glance/api/v1/images.py#L1115-L1116
  [2]: 
https://github.com/openstack/glance/blob/master/glance/api/v1/images.py#L1132

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

-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to : yahoo-eng-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp


[Yahoo-eng-team] [Bug 1491307] Re: [OSSA 2015-021] secgroup rules doesn't work for instance immediately (CVE-2015-7713)

2015-10-07 Thread Tristan Cacqueray
** Changed in: ossa
   Status: In Progress => Fix Released

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/1491307

Title:
  [OSSA 2015-021] secgroup rules doesn't work for instance immediately
  (CVE-2015-7713)

Status in OpenStack Compute (nova):
  Fix Released
Status in OpenStack Security Advisory:
  Fix Released

Bug description:
  I have an OpenStack kilo setup on RHEL7.1 with a controller and a
  compute node (network-compute + network-network),the config is
  following:

  # /etc/nova.nova.conf on contrller node
  [DEFAULT]
  network_api_class = nova.network.api.API
  security_group_api = nova

  # /etc/nova/nova.conf on compute node
  [DEFAULT]
  network_api_class = nova.network.api.API
  security_group_api = nova
  firewall_driver = nova.virt.libvirt.firewall.IptablesFirewallDriver
  network_manager = nova.network.manager.FlatDHCPManager
  network_size = 254
  allow_same_net_traffic = False
  multi_host = True
  send_arp_for_ha = True
  share_dhcp_address = True
  force_dhcp_release = True
  flat_network_bridge = br100
  flat_interface = eth0
  public_interface = eth0

  steps for test 1:
  1) create and start VM instance-1 with secgroup default;
  2) VM instance-1 ping br100:  OK;  
  3) br100 ping VM instance-1: operation not permitted (because of no 
secgroup-rules for ICMP)
  4) nova secgroup-add-rule default icmp -1 -1 0.0.0.0/0
  5) br100 ping VM instance-1: i got the same wrong message, not expected.

  steps for test 2:
  1) nova secgroup-add-rule default icmp -1 -1 0.0.0.0/0;
  2) create and start VM instance-2 with secgroup default;
  3) br100 ping instance-2: OK

  It seems that command "nova secgroup-add-rule ..." doesn't work
  immediately for the existed or running VM instances?

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

-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to : yahoo-eng-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp


[Yahoo-eng-team] [Bug 1392527] Re: [OSSA 2015-017] Deleting instance while resize instance is running leads to unuseable compute nodes (CVE-2015-3280)

2015-10-07 Thread Tristan Cacqueray
** Changed in: ossa
   Status: Fix Committed => Fix Released

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/1392527

Title:
  [OSSA 2015-017] Deleting instance while resize instance is running
  leads to unuseable compute nodes (CVE-2015-3280)

Status in OpenStack Compute (nova):
  New
Status in OpenStack Compute (nova) juno series:
  Fix Committed
Status in OpenStack Compute (nova) kilo series:
  Fix Committed
Status in OpenStack Security Advisory:
  Fix Released

Bug description:
  Steps to reproduce:
  1) Create a new instance,waiting until it’s status goes to ACTIVE state
  2) Call resize API
  3) Delete the instance immediately after the task_state is “resize_migrated” 
or vm_state is “resized”
  4) Repeat 1 through 3 in a loop

  I have kept attached program running for 4 hours, all instances
  created are deleted (nova list returns empty list) but I noticed
  instances directories with the name “_resize> are not
  deleted from the instance path of the compute nodes (mainly from the
  source compute nodes where the instance was running before resize). If
  I keep this program running for couple of more hours (depending on the
  number of compute nodes), then it completely uses the entire disk of
  the compute nodes (based on the disk_allocation_ratio parameter
  value). Later, nova scheduler doesn’t select these compute nodes for
  launching new vms and starts reporting error "No valid hosts found".

  Note: Even the periodic tasks doesn't cleanup these orphan instance
  directories from the instance path.

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

-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to : yahoo-eng-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp


[Yahoo-eng-team] [Bug 1498163] Re: [OSSA 2015-020] Glance storage quota bypass when token is expired (CVE-2015-5286)

2015-10-05 Thread Tristan Cacqueray
** Changed in: ossa
   Status: Fix Committed => Fix Released

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

Title:
  [OSSA 2015-020] Glance storage quota bypass when token is expired
  (CVE-2015-5286)

Status in Glance:
  Fix Released
Status in OpenStack Security Advisory:
  Fix Released

Bug description:
  About a year ago it was a vulnerability called 'Glance user storage quota 
bypass': https://security.openstack.org/ossa/OSSA-2015-003.html, where any user 
could overcome the quota and clog up the storage.
  The fix was proposed in master and all other stable branches, but it turned 
out, that it doesn't completely remove the issue and any user still can exceed 
the quota.

  It happens in case if user token is expired during file upload and
  when glance tries to update image status from 'saving' to 'active'.
  Then glance gets Unauthenticated exception from registry server and
  fails with 500 error. On the other side garbage file is left in
  storage.

  Steps to reproduce mostly coincide with the related from the previous bug, 
but in general it is:
  1. Set some value (like 1Gb) to user_storage_quota in glance-api.conf and 
restart the server.
  2. Make sure that your token will expire soon, when you'll be able to create 
an image instance in DB and begin the upload, but the token will expire during 
it.
  3. Create an image, begin the upload and quickly remove the image with 
'glance image-delete'.
  4. After the upload check that image is not in the list, i.e. it's deleted, 
and file is still located in the store.
  5. Perform steps 2-4 several times to make sure that user quota is exceeded.

  Related script (test_images.py from here
  https://bugs.launchpad.net/glance/+bug/1398830) works fine, too, but
  it's better to reduce token life time in keystone config to 1 or 2
  minutes, just for not to wait for one hour.

  Glance api v2 is affected as well, but only if registry db_api is
  enabled.

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

-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to : yahoo-eng-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp


[Yahoo-eng-team] [Bug 1482371] Re: [OSSA 2015-019] Image status can be changed by passing header 'x-image-meta-status' with PUT operation using v1 (CVE-2015-5251)

2015-09-23 Thread Tristan Cacqueray
** Changed in: ossa
   Status: Fix Committed => Fix Released

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

Title:
  [OSSA 2015-019] Image status can be changed by passing header 'x
  -image-meta-status' with PUT operation using v1 (CVE-2015-5251)

Status in Glance:
  Fix Committed
Status in OpenStack Security Advisory:
  Fix Released

Bug description:
  Using Glance v1, one is able to change the status of an image to any
  one of the valid statuses by passing the header 'x-image-meta-status'
  with PUT on /images/.  This bug provides a way for an image
  to transition states that are otherwise not possible in an image's
  lifecycle.

  See http://paste.openstack.org/show/pNL7kvIZUz7cWJQwX64d/ for a
  reproduction of this behavior on devstack.

  As shown in the above paste, though one is able to change the status
  of an active image to queued, uploading data after re-setting the
  status to queued fails with a 400[1].  Though the purpose of [1]
  appears to be slightly different, it's fortunately saving us from
  badly breaking the immutability guarantees of glance images.

  [1]
  
https://github.com/openstack/glance/blob/master/glance/api/v1/images.py#L760-L765

  NOTE: Marking this as a security vulnerability for now as users would
  be able to activate the deactivated images on their own. This probably
  affects deployments only where v1 is exposed publicly. However, it's
  probably worth discussing this from a security perspective as well.

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

-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to : yahoo-eng-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp


[Yahoo-eng-team] [Bug 1489111] Re: [OSSA 2015-018] IP, MAC, and DHCP spoofing rules can by bypassed by changing device_owner (CVE-2015-5240)

2015-09-14 Thread Tristan Cacqueray
** Changed in: ossa
   Status: Fix Committed => Fix Released

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

Title:
  [OSSA 2015-018] IP, MAC, and DHCP spoofing rules can by bypassed by
  changing device_owner (CVE-2015-5240)

Status in neutron:
  Fix Committed
Status in OpenStack Security Advisory:
  Fix Released

Bug description:
  This issue is being treated as a potential security risk under
  embargo. Please do not make any public mention of embargoed (private)
  security vulnerabilities before their coordinated publication by the
  OpenStack Vulnerability Management Team in the form of an official
  OpenStack Security Advisory. This includes discussion of the bug or
  associated fixes in public forums such as mailing lists, code review
  systems and bug trackers. Please also avoid private disclosure to
  other individuals not already approved for access to this information,
  and provide this same reminder to those who are made aware of the
  issue prior to publication. All discussion should remain confined to
  this private bug report, and any proposed fixes should be added to the
  bug as attachments.

  --

  The anti-IP spoofing rules, anti-MAC spoofing rules, and anti-DHCP
  spoofing rules can be bypassed by changing the device_owner field of a
  compute node's port to something that starts with 'network:'.

  Steps to reproduce:

  Create a port on the target network:

  neutron port-create some_network

  Start a repeated update of the device_owner field to immediately
  change it back after nova sets it to 'compute:' on VM
  attachment. (This has to be done quickly because the owner has to be
  set to 'network:something' before the L2 agent wires up the security
  group rules.)

  watch neutron port-update  --device-owner
  network:hello

  Then boot the VM with the port UUID:

  nova boot test --nic port-id= --flavor m1.tiny
  --image cirros-0.3.4-x86_64-uec

  This VM will now have no iptables rules applied because it will be
  treated as a network owned port (e.g. router interface, DHCP
  interface, etc).

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

-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to : yahoo-eng-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp


[Yahoo-eng-team] [Bug 1483382] Re: Able to request a V2 token for user and project in a non-default domain

2015-09-08 Thread Tristan Cacqueray
** Changed in: ossa
   Status: Incomplete => Won't Fix

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

Title:
  Able to request a V2 token for user and project in a non-default
  domain

Status in Keystone:
  Fix Released
Status in Keystone kilo series:
  In Progress
Status in OpenStack Security Advisory:
  Won't Fix

Bug description:
  Using the latest devstack, I am able to request a V2 token for user
  and project in a non-default domain. This problematic as non-default
  domains are not suppose to be visible to V2 APIs.

  Steps to reproduce:

  1) install devstack

  2) run these commands

  gyee@dev:~$ openstack --os-identity-api-version 3 --os-username admin 
--os-password secrete --os-user-domain-id default --os-project-name admin 
--os-project-domain-id default --os-auth-url http://localhost:5000 domain list
  
+--+-+-+--+
  | ID   | Name| Enabled | Description  
|
  
+--+-+-+--+
  | 769ad7730e0c4498b628aa8dc00e831f | foo | True|  
|
  | default  | Default | True| Owns users and 
tenants (i.e. projects) available on Identity API v2. |
  
+--+-+-+--+
  gyee@dev:~$ openstack --os-identity-api-version 3 --os-username admin 
--os-password secrete --os-user-domain-id default --os-project-name admin 
--os-project-domain-id default --os-auth-url http://localhost:5000 user list 
--domain 769ad7730e0c4498b628aa8dc00e831f
  +--+--+
  | ID   | Name |
  +--+--+
  | cf0aa0b2d5db4d67a94d1df234c338e5 | bar  |
  +--+--+
  gyee@dev:~$ openstack --os-identity-api-version 3 --os-username admin 
--os-password secrete --os-user-domain-id default --os-project-name admin 
--os-project-domain-id default --os-auth-url http://localhost:5000 project list 
--domain 769ad7730e0c4498b628aa8dc00e831f
  +--+-+
  | ID   | Name|
  +--+-+
  | 413abdbfef5544e2a5f3e8ac6124dd29 | foo-project |
  +--+-+
  gyee@dev:~$ curl -k -H 'Content-Type: application/json' -d '{"auth": 
{"passwordCredentials": {"userId": "cf0aa0b2d5db4d67a94d1df234c338e5", 
"password": "secrete"}, "tenantId": "413abdbfef5544e2a5f3e8ac6124dd29"}}' 
-XPOST http://localhost:35357/v2.0/tokens | python -mjson.tool
    % Total% Received % Xferd  Average Speed   TimeTime Time  
Current
   Dload  Upload   Total   SpentLeft  Speed
  100  3006  100  2854  100   152  22164   1180 --:--:-- --:--:-- --:--:-- 22472
  {
  "access": {
  "metadata": {
  "is_admin": 0,
  "roles": [
  "2b7f29ebd1c8453fb91e9cd7c2e1319b",
  "9fe2ff9ee4384b1894a90878d3e92bab"
  ]
  },
  "serviceCatalog": [
  {
  "endpoints": [
  {
  "adminURL": 
"http://10.0.2.15:8774/v2/413abdbfef5544e2a5f3e8ac6124dd29";,
  "id": "3a92a79a21fb41379fa3e135be65eeff",
  "internalURL": 
"http://10.0.2.15:8774/v2/413abdbfef5544e2a5f3e8ac6124dd29";,
  "publicURL": 
"http://10.0.2.15:8774/v2/413abdbfef5544e2a5f3e8ac6124dd29";,
  "region": "RegionOne"
  }
  ],
  "endpoints_links": [],
  "name": "nova",
  "type": "compute"
  },
  {
  "endpoints": [
  {
  "adminURL": 
"http://10.0.2.15:8776/v2/413abdbfef5544e2a5f3e8ac6124dd29";,
  "id": "64338d9eb3054598bcee30443c678e2a",
  "internalURL": 
"http://10.0.2.15:8776/v2/413abdbfef5544e2a5f3e8ac6124dd29";,
  "publicURL": 
"http://10.0.2.15:8776/v2/413abdbfef5544e2a5f3e8ac6124dd29";,
  "region": "RegionOne"
  }
  ],
  "endpoints_links": [],
  "name": "cinderv2",
  "type": "volumev2"
  },
  {
  "endpoints": [
  {
   

[Yahoo-eng-team] [Bug 1479385] Re: Cause conflicts within glance public metadefs

2015-09-08 Thread Tristan Cacqueray
Until this can be safely backported, the OSSA task is switched to Won't
fix.

** Changed in: ossa
   Status: Triaged => Won't Fix

** Information type changed from Public Security to Public

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

Title:
  Cause conflicts within glance public metadefs

Status in Glance:
  Triaged
Status in OpenStack Security Advisory:
  Won't Fix

Bug description:
  Overview:

  Through creation of a new public namespace by any user of the system,
  you can create a clash of namespaces, that breaks all accessibility to
  that namespace. This therefore can be used to cause a denial of
  service attack or you have to disable the service completely.

  How to produce:

  As a regular user run the command:
  curl -v -X POST http://16.49.138.140:9292/v2/metadefs/namespaces -H 
"Content-Type: application/json" -H "X-Auth-Token: 
1a499605071a46a8b9b2a938fac5fac7" -d '{"namespace": "OS::Computer::WebServers", 
"visibility": "public"}'

  This will create a new namespace with the same name as the existing 
namespace. This has now rendered the original namespace inaccessible. If a GET 
request is done to the namespaces name by any other user via (or viewing in 
horizon):
  curl -v -X GET 
http://16.49.138.140:9292/v2/metadefs/namespaces/OS::Computer::WebServers -H 
"Content-Type: application/json" -H "X-Auth-Token: 
1a499605071a46a8b9b2a938fac5fac7"

  It will cause the following output in the api console:
  2015-07-28 23:41:42.175 ERROR glance.api.v2.metadef_properties 
[req-e3a80995-6f37-4e5c-b7dd-a1ce978478c7 f76c222365fb490792300f9e49ec9bd0 
9db14ac3320b4396b58222f99dd04e4e] Multiple rows were found for one()

  Returning a 500 to the user and therefore the namespace inaccessible
  meaning a successful denial of service to most of the metadefs api as
  most require it.

  Attempted preventative measures:
  In the policy.json files there are only the following values:
  "get_metadef_namespace": "",
   "get_metadef_namespaces":"",
   "modify_metadef_namespace":"",
  "add_metadef_namespace":"",
  meaning that creating namespaces has to be disabled completely(not default ) 
as there in no publicize option.

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

-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to : yahoo-eng-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp


[Yahoo-eng-team] [Bug 1482301] Re: 'X-Openstack-Request-ID' lenght limited only by header size

2015-08-31 Thread Tristan Cacqueray
** Changed in: ossa
   Status: Incomplete => Won't Fix

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

Title:
  'X-Openstack-Request-ID' lenght limited only by header size

Status in Glance:
  In Progress
Status in Glance juno series:
  New
Status in Glance kilo series:
  New
Status in OpenStack Security Advisory:
  Won't Fix

Bug description:
  Glance accepts 'X-Openstack-Request-ID' header and includes the value
  in log-files. The length of the Request ID is limited only by
  max_header_line parameter that defaults to 16384. This opens
  possibility to flood the logs.

  Public as this vulnerability was already discussed today on Glance
  weekly meeting.

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

-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to : yahoo-eng-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp


[Yahoo-eng-team] [Bug 1387543] Re: [OSSA 2015-015] Resize/delete combo allows to overload nova-compute (CVE-2015-3241)

2015-08-25 Thread Tristan Cacqueray
** Changed in: ossa
   Status: Fix Committed => Fix Released

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/1387543

Title:
  [OSSA 2015-015] Resize/delete combo allows to overload nova-compute
  (CVE-2015-3241)

Status in OpenStack Compute (nova):
  Fix Committed
Status in OpenStack Compute (nova) juno series:
  Fix Committed
Status in OpenStack Compute (nova) kilo series:
  Fix Committed
Status in OpenStack Security Advisory:
  Fix Released

Bug description:
  If user create instance, and resize it to larger flavor and than
  delete that instance, migration process does not stop. This allow
  user to repeat operation many times, causing overload to affected
  compute nodes over user quota.

  Affected installation: most drastic effect happens on 'raw-disk'
  instances without live migration. Whole raw disk (full size of the
  flavor) is copied during migration.

  If user delete instance it does not terminate rsync/scp keeping disk
  backing file opened regardless of removal by nova compute.

  Because rsync/scp of large disks is rather slow, it gives malicious
  user enough time to repeat that operation few hundred times, causing
  disk space depletion on compute nodes, huge impact on management
  network and so on.

  Proposed solution: abort migration (kill rsync/scp) as soon, as
  instance is deleted.

  Affected installation: Havana, Icehouse, probably Juno (not tested).

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

-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to : yahoo-eng-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp


[Yahoo-eng-team] [Bug 1471912] Re: [OSSA 2015-014] Format-guessing and file disclosure via image conversion (CVE-2015-5163)

2015-08-14 Thread Tristan Cacqueray
** Changed in: ossa
   Status: Fix Committed => Fix Released

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

Title:
  [OSSA 2015-014] Format-guessing and file disclosure via image
  conversion (CVE-2015-5163)

Status in Glance:
  Fix Committed
Status in OpenStack Security Advisory:
  Fix Released

Bug description:
  This is a security flaw that allows files from the Glance host to be
  obtained by a user.

  I'm using the Glance file store and have set in /etc/glance/glance-api.conf:
  [taskflow_executor]
  engine_mode=serial  # not sure if needed
  conversion_format=raw

  Make a malicious image available via HTTP.
  $ sudo qemu-img create -f qcow2 /var/www/html/test_image 1M
  $ sudo qemu-img rebase -u -b /etc/passwd /var/www/html/test_image

  $ glance --os-image-api-version 2 task-create --type import --input 
'{"import_from_format": "qcow2", "import_from": "http://127.0.0.1/test_image";, 
"image_properties": {"name": "my_image_test", "disk_format": "qcow2", 
"container_format": "bare"}}'
  $ glance image-download my_image_test --file downloaded_image
  $ head downloaded_image
  

  This happens because Glance runs this command which doesn't specify a format, 
and uses qemu-img's format auto-detection:
  qemu-img convert -O raw file:///tmp/28e1f5e8-9f62-4c01-84be-9feae8852ea4 
/tmp/28e1f5e8-9f62-4c01-84be-9feae8852ea4.converted

  Similar to Cinder bug 1415087.

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

-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to : yahoo-eng-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp


[Yahoo-eng-team] [Bug 1415087] Re: [OSSA 2015-011] Format-guessing and file disclosure in image convert (CVE-2015-1850, CVE-2015-1851)

2015-08-10 Thread Tristan Cacqueray
The OSSA tasks is now closed. If Nova turns out to be affected, a new
OSSA will be required anyway.

** Changed in: ossa
   Status: Fix Committed => Fix Released

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/1415087

Title:
  [OSSA 2015-011] Format-guessing and file disclosure in image convert
  (CVE-2015-1850, CVE-2015-1851)

Status in Cinder:
  Fix Released
Status in Cinder icehouse series:
  Fix Released
Status in Cinder juno series:
  Fix Committed
Status in Cinder kilo series:
  Fix Released
Status in OpenStack Compute (nova):
  Triaged
Status in OpenStack Security Advisory:
  Fix Released

Bug description:
  Cinder does not provide input format to several calls of "qemu-img
  convert". This allows the attacker to play the format guessing by
  providing a volume with a qcow2 signature. If this signature contains
  a base file, this file will be read by a process running as root and
  embedded in the output. This bug is similar to CVE-2013-1922.

  Tested with: lvm backed volume storage, it may apply to others as well
  Steps to reproduce:
  - create volume and attach to vm,
  - create a qcow2 signature with base-file[1] from within the vm and
  - trigger upload to glance with "cinder upload-to-image --disk-type qcow2"[2].
  The image uploaded to glance will have /etc/passwd from the cinder-volume 
host embedded.
  Affected versions: tested on 2014.1.3, found while reading 2014.2.1

  Fix: Always specify both input "-f" and output format "-O" to "qemu-
  img convert". The code is in module cinder.image.image_utils.

  Bastian Blank

  [1]: qemu-img create -f qcow2 -b /etc/passwd /dev/vdb
  [2]: The disk-type != raw triggers the use of "qemu-img convert"

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

-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to : yahoo-eng-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp


[Yahoo-eng-team] [Bug 1482301] Re: 'X-Openstack-Request-ID' lenght limited only by header size

2015-08-06 Thread Tristan Cacqueray
** Also affects: ossa
   Importance: Undecided
   Status: New

** Changed in: ossa
   Status: New => Incomplete

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

Title:
  'X-Openstack-Request-ID' lenght limited only by header size

Status in Glance:
  In Progress
Status in Glance juno series:
  New
Status in Glance kilo series:
  New
Status in OpenStack Security Advisory:
  Incomplete

Bug description:
  Glance accepts 'X-Openstack-Request-ID' header and includes the value
  in log-files. The length of the Request ID is limited only by
  max_header_line parameter that defaults to 16384. This opens
  possibility to flood the logs.

  Public as this vulnerability was already discussed today on Glance
  weekly meeting.

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

-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to : yahoo-eng-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp


[Yahoo-eng-team] [Bug 1472243] [NEW] Router interface add port with a mac address raise runtime error

2015-07-07 Thread Tristan Cacqueray
Public bug reported:

Trace:
ERROR neutron.agent.l3.agent [-] Failed to process compatible router 
'1794ed9d-68d6-402c-a4e5-8041de4c4186'
TRACE neutron.agent.l3.agent Traceback (most recent call last):
TRACE neutron.agent.l3.agent   File 
"/usr/lib/python2.7/site-packages/neutron/agent/l3/agent.py", line 452, in 
_process_router_update
TRACE neutron.agent.l3.agent self._process_router_if_compatible(router)
TRACE neutron.agent.l3.agent   File 
"/usr/lib/python2.7/site-packages/neutron/agent/l3/agent.py", line 406, in 
_process_router_if_compatible
TRACE neutron.agent.l3.agent self._process_updated_router(router)
TRACE neutron.agent.l3.agent   File 
"/usr/lib/python2.7/site-packages/neutron/agent/l3/agent.py", line 420, in 
_process_updated_router
TRACE neutron.agent.l3.agent ri.process(self)
TRACE neutron.agent.l3.agent   File 
"/usr/lib/python2.7/site-packages/neutron/common/utils.py", line 346, in call
TRACE neutron.agent.l3.agent self.logger(e)
TRACE neutron.agent.l3.agent   File 
"/usr/lib/python2.7/site-packages/oslo_utils/excutils.py", line 85, in __exit__
TRACE neutron.agent.l3.agent six.reraise(self.type_, self.value, self.tb)
TRACE neutron.agent.l3.agent   File 
"/usr/lib/python2.7/site-packages/neutron/common/utils.py", line 343, in call
TRACE neutron.agent.l3.agent return func(*args, **kwargs)
TRACE neutron.agent.l3.agent   File 
"/usr/lib/python2.7/site-packages/neutron/agent/l3/router_info.py", line 605, 
in process
TRACE neutron.agent.l3.agent self._process_internal_ports()
TRACE neutron.agent.l3.agent   File 
"/usr/lib/python2.7/site-packages/neutron/agent/l3/router_info.py", line 361, 
in _process_internal_ports
TRACE neutron.agent.l3.agent self.internal_network_added(p)
TRACE neutron.agent.l3.agent   File 
"/usr/lib/python2.7/site-packages/neutron/agent/l3/router_info.py", line 312, 
in internal_network_added
TRACE neutron.agent.l3.agent INTERNAL_DEV_PREFIX)
TRACE neutron.agent.l3.agent   File 
"/usr/lib/python2.7/site-packages/neutron/agent/l3/router_info.py", line 288, 
in _internal_network_added
TRACE neutron.agent.l3.agent prefix=prefix)
TRACE neutron.agent.l3.agent   File 
"/usr/lib/python2.7/site-packages/neutron/agent/linux/interface.py", line 252, 
in plug
TRACE neutron.agent.l3.agent ns_dev.link.set_address(mac_address)
TRACE neutron.agent.l3.agent   File 
"/usr/lib/python2.7/site-packages/neutron/agent/linux/ip_lib.py", line 270, in 
set_address
TRACE neutron.agent.l3.agent self._as_root([], ('set', self.name, 
'address', mac_address))
TRACE neutron.agent.l3.agent   File 
"/usr/lib/python2.7/site-packages/neutron/agent/linux/ip_lib.py", line 222, in 
_as_root
TRACE neutron.agent.l3.agent use_root_namespace=use_root_namespace)
TRACE neutron.agent.l3.agent   File 
"/usr/lib/python2.7/site-packages/neutron/agent/linux/ip_lib.py", line 69, in 
_as_root
TRACE neutron.agent.l3.agent log_fail_as_error=self.log_fail_as_error)
TRACE neutron.agent.l3.agent   File 
"/usr/lib/python2.7/site-packages/neutron/agent/linux/ip_lib.py", line 78, in 
_execute
TRACE neutron.agent.l3.agent log_fail_as_error=log_fail_as_error)
TRACE neutron.agent.l3.agent   File 
"/usr/lib/python2.7/site-packages/neutron/agent/linux/utils.py", line 137, in 
execute
TRACE neutron.agent.l3.agent raise RuntimeError(m)
TRACE neutron.agent.l3.agent RuntimeError: 
TRACE neutron.agent.l3.agent Command: ['sudo', 'neutron-rootwrap', 
'/etc/neutron/rootwrap.conf', 'ip', 'link', 'set', 'qr-a848e3a3-ce', 'address', 
'00:00:00:00:00:00']
TRACE neutron.agent.l3.agent Exit code: 2
TRACE neutron.agent.l3.agent Stdin: 
TRACE neutron.agent.l3.agent Stdout: 
TRACE neutron.agent.l3.agent Stderr: RTNETLINK answers: Cannot assign requested 
address


Steps to reproduce:
router_id=$(neutron router-create test | grep ' id ' | awk '{ print $4 }')
neutron net-create test
neutron subnet-create test 192.168.0.1/24
port_id=$(neutron port-create --mac_address '00:00:00:00:00:00' test | grep ' 
id ' | awk '{ print $4 }')
neutron router-interface-add $router_id port=$port_id

Impact:
Raise RuntimeError instead of NeutronError

** Affects: neutron
 Importance: Undecided
 Status: New

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

Title:
  Router interface add port with a mac address raise runtime error

Status in OpenStack Neutron (virtual network service):
  New

Bug description:
  Trace:
  ERROR neutron.agent.l3.agent [-] Failed to process compatible router 
'1794ed9d-68d6-402c-a4e5-8041de4c4186'
  TRACE neutron.agent.l3.agent Traceback (most recent call last):
  TRACE neutron.agent.l3.agent   File 
"/usr/lib/python2.7/site-packages/neutron/agent/l3/agent.py", line 452, in 
_process_router_update
  TRACE neutron.agent.l3.agent self._process_router_if_compatible(router)
  TRACE neutron.agent.l3.agent   File 
"/usr/lib/python2.7/site-packages/neutron/agent/

[Yahoo-eng-team] [Bug 1472242] [NEW] Router interface add port without subnet raise indexerror

2015-07-07 Thread Tristan Cacqueray
Public bug reported:

Trace:
ERROR neutron.api.v2.resource [req-dbf179d1-62ac-4537-be15-c2088669f75c ] 
add_router_interface failed
TRACE neutron.api.v2.resource Traceback (most recent call last):
TRACE neutron.api.v2.resource   File 
"/usr/lib/python2.7/site-packages/neutron/api/v2/resource.py", line 83, in 
resource
TRACE neutron.api.v2.resource result = method(request=request, **args)
TRACE neutron.api.v2.resource   File 
"/usr/lib/python2.7/site-packages/neutron/api/v2/base.py", line 207, in 
_handle_action
TRACE neutron.api.v2.resource return getattr(self._plugin, name)(*arg_list, 
**kwargs)
TRACE neutron.api.v2.resource   File 
"/usr/lib/python2.7/site-packages/neutron/db/l3_dvr_db.py", line 306, in 
add_router_interface
TRACE neutron.api.v2.resource router_id, port['tenant_id'], port['id'], 
subnets[-1]['id'],
TRACE neutron.api.v2.resource IndexError: list index out of range


Steps to reproduce:
router_id=$(neutron router-create test | grep ' id ' | awk '{ print $4 }')
neutron net-create test
port_id=$(neutron port-create test | grep ' id ' | awk '{ print $4 }')
neutron router-interface-add $router_id port=$port_id


Impact:
Raise an IndexError exception instead of NeutronError

** Affects: neutron
 Importance: Undecided
 Status: New

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

Title:
  Router interface add port without subnet raise indexerror

Status in OpenStack Neutron (virtual network service):
  New

Bug description:
  Trace:
  ERROR neutron.api.v2.resource [req-dbf179d1-62ac-4537-be15-c2088669f75c ] 
add_router_interface failed
  TRACE neutron.api.v2.resource Traceback (most recent call last):
  TRACE neutron.api.v2.resource   File 
"/usr/lib/python2.7/site-packages/neutron/api/v2/resource.py", line 83, in 
resource
  TRACE neutron.api.v2.resource result = method(request=request, **args)
  TRACE neutron.api.v2.resource   File 
"/usr/lib/python2.7/site-packages/neutron/api/v2/base.py", line 207, in 
_handle_action
  TRACE neutron.api.v2.resource return getattr(self._plugin, 
name)(*arg_list, **kwargs)
  TRACE neutron.api.v2.resource   File 
"/usr/lib/python2.7/site-packages/neutron/db/l3_dvr_db.py", line 306, in 
add_router_interface
  TRACE neutron.api.v2.resource router_id, port['tenant_id'], port['id'], 
subnets[-1]['id'],
  TRACE neutron.api.v2.resource IndexError: list index out of range

  
  Steps to reproduce:
  router_id=$(neutron router-create test | grep ' id ' | awk '{ print $4 }')
  neutron net-create test
  port_id=$(neutron port-create test | grep ' id ' | awk '{ print $4 }')
  neutron router-interface-add $router_id port=$port_id

  
  Impact:
  Raise an IndexError exception instead of NeutronError

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

-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to : yahoo-eng-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp


[Yahoo-eng-team] [Bug 1471966] [NEW] Invalid json types cause stacktrace

2015-07-06 Thread Tristan Cacqueray
Public bug reported:

Incorrect json input cause error instead of being invalidated properly:

Type error in dns_nameservers raise keyerror:

ERROR neutron.api.v2.resource [req-be58f6e1-db2f-4b2e-9620-afb49bdd4552 demo 
d1da3f8632e3413b915eda78899806d7] create failed
Traceback (most recent call last):
  File "/opt/stack/neutron/neutron/api/v2/resource.py", line 87, in resource
result = method(request=request, **args)
  File "/opt/stack/neutron/neutron/api/v2/base.py", line 379, in create
allow_bulk=self._allow_bulk)
  File "/opt/stack/neutron/neutron/api/v2/base.py", line 637, in 
prepare_request_body
attr_vals['validate'][rule])
  File "/opt/stack/neutron/neutron/api/v2/attributes.py", line 275, in 
_validate_nameservers
msg = _validate_ip_or_hostname(host)
  File "/opt/stack/neutron/neutron/api/v2/attributes.py", line 257, in 
_validate_ip_or_hostname
name_err = _validate_hostname(host)
  File "/opt/stack/neutron/neutron/api/v2/attributes.py", line 370, in 
_validate_hostname
trimmed = data if data[-1] != '.' else data[:-1]
TRACE neutron.api.v2.resource KeyError: -1
TRACE neutron.api.v2.resource·
INFO neutron.wsgi [req-be58f6e1-db2f-4b2e-9620-afb49bdd4552 demo 
d1da3f8632e3413b915eda78899806d7] 10.43.97.9 - - [05/Jul/2015 11:28:35] "POST 
//v2.0/subnets.json HTTP/1.1" 500 359 0.029233


Steps to reproduce:
token=$(keystone token-get | grep ' id ' | awk '{ print $4}')
curl -H "X-Auth-Token:${token}"  -H 'Content-Type:application/json' -X POST 
http://localhost:9696//v2.0/subnets.json \
 -d '{"subnet": {"dns_nameservers": [{}], "cidr": "192.168.0.1/24", 
"network_id": "----", "ip_version": "4"}}'; echo


Various sql errors with security-group params:

Trace:
ERROR neutron.api.v2.resource [req-0f32e171-029c-465a-872e-d3533fc191c7 demo 
4a2f46b3469240589af5db1ffd3e56e7] create failed
TRACE neutron.api.v2.resource Traceback (most recent call last):
TRACE neutron.api.v2.resource   File 
"/opt/stack/neutron/neutron/api/v2/resource.py", line 87, in resource
TRACE neutron.api.v2.resource result = method(request=request, **args)
TRACE neutron.api.v2.resource   File 
"/opt/stack/neutron/neutron/api/v2/base.py", line 448, in create
TRACE neutron.api.v2.resource obj = obj_creator(request.context, **kwargs)
TRACE neutron.api.v2.resource   File 
"/opt/stack/neutron/neutron/db/securitygroups_db.py", line 137, in 
create_security_group
TRACE neutron.api.v2.resource context.session.add(egress_rule)
TRACE neutron.api.v2.resource   File 
"/usr/lib/python2.7/dist-packages/sqlalchemy/orm/session.py", line 447, in 
__exit__
TRACE neutron.api.v2.resource self.rollback()
TRACE neutron.api.v2.resource   File 
"/usr/lib/python2.7/dist-packages/sqlalchemy/util/langhelpers.py", line 58, in 
__exit__
TRACE neutron.api.v2.resource compat.reraise(exc_type, exc_value, exc_tb)
TRACE neutron.api.v2.resource   File 
"/usr/lib/python2.7/dist-packages/sqlalchemy/orm/session.py", line 444, in 
__exit__
TRACE neutron.api.v2.resource self.commit()
TRACE neutron.api.v2.resource   File 
"/usr/lib/python2.7/dist-packages/sqlalchemy/orm/session.py", line 354, in 
commit
TRACE neutron.api.v2.resource self._prepare_impl()
TRACE neutron.api.v2.resource   File 
"/usr/lib/python2.7/dist-packages/sqlalchemy/orm/session.py", line 334, in 
_prepare_impl
TRACE neutron.api.v2.resource self.session.flush()
TRACE neutron.api.v2.resource   File 
"/usr/lib/python2.7/dist-packages/sqlalchemy/orm/session.py", line 1818, in 
flush
TRACE neutron.api.v2.resource self._flush(objects)
TRACE neutron.api.v2.resource   File 
"/usr/lib/python2.7/dist-packages/sqlalchemy/orm/session.py", line 1936, in 
_flush
TRACE neutron.api.v2.resource transaction.rollback(_capture_exception=True)
TRACE neutron.api.v2.resource   File 
"/usr/lib/python2.7/dist-packages/sqlalchemy/util/langhelpers.py", line 58, in 
__exit__
TRACE neutron.api.v2.resource compat.reraise(exc_type, exc_value, exc_tb)
TRACE neutron.api.v2.resource   File 
"/usr/lib/python2.7/dist-packages/sqlalchemy/orm/session.py", line 1900, in 
_flush
TRACE neutron.api.v2.resource flush_context.execute()
TRACE neutron.api.v2.resource   File 
"/usr/lib/python2.7/dist-packages/sqlalchemy/orm/unitofwork.py", line 372, in 
execute
TRACE neutron.api.v2.resource rec.execute(self)
TRACE neutron.api.v2.resource   File 
"/usr/lib/python2.7/dist-packages/sqlalchemy/orm/unitofwork.py", line 525, in 
execute
TRACE neutron.api.v2.resource uow
TRACE neutron.api.v2.resource   File 
"/usr/lib/python2.7/dist-packages/sqlalchemy/orm/persistence.py", line 64, in 
save_obj
TRACE neutron.api.v2.resource table, insert)
TRACE neutron.api.v2.resource   File 
"/usr/lib/python2.7/dist-packages/sqlalchemy/orm/persistence.py", line 541, in 
_emit_insert_statements
TRACE neutron.api.v2.resource execute(statement, multiparams)
TRACE neutron.api.v2.resource   File 
"/usr/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 662, i

[Yahoo-eng-team] [Bug 1471957] [NEW] Invalid subnet cidr cause dhcp runtimerror

2015-07-06 Thread Tristan Cacqueray
Public bug reported:

Trace:
ERROR neutron.agent.linux.utils [req-26ce0148-4bc4-40bd-96ac-e9d484f37b61 demo 
12b3399d1cb64da488e20f6a7c355d10] 
Command: ['sudo', '/usr/local/bin/neutron-rootwrap', 
'/etc/neutron/rootwrap.conf', 'ip', 'netns', 'exec', 
'qdhcp-6cdefebf-ab88-4f55-b2b9-719286a7b75b', 'ip', 'route', 'replace', 
'default', 'via', '0.0.0.1', 'dev', 'tapb81e677c-8c']
Exit code: 2
Stdout: ''
Stderr: 'RTNETLINK answers: Network is unreachable\n'
ERROR neutron.agent.dhcp_agent [req-26ce0148-4bc4-40bd-96ac-e9d484f37b61 demo 
12b3399d1cb64da488e20f6a7c355d10] Unable to enable dhcp for 
6cdefebf-ab88-4f55-b2b9-719286a7b75b.
Traceback (most recent call last):
  File "/opt/stack/neutron/neutron/agent/dhcp_agent.py", line 128, in 
call_driver
getattr(driver, action)(**action_kwargs)
  File "/opt/stack/neutron/neutron/agent/linux/dhcp.py", line 205, in enable
interface_name = self.device_manager.setup(self.network)
  File "/opt/stack/neutron/neutron/agent/linux/dhcp.py", line 1056, in setup
self._set_default_route(network, interface_name)
  File "/opt/stack/neutron/neutron/agent/linux/dhcp.py", line 928, in 
_set_default_route
device.route.add_gateway(subnet.gateway_ip)
  File "/opt/stack/neutron/neutron/agent/linux/ip_lib.py", line 395, in 
add_gateway
self._as_root(*args)
  File "/opt/stack/neutron/neutron/agent/linux/ip_lib.py", line 242, in _as_root
kwargs.get('use_root_namespace', False))
  File "/opt/stack/neutron/neutron/agent/linux/ip_lib.py", line 74, in _as_root
log_fail_as_error=self.log_fail_as_error)
  File "/opt/stack/neutron/neutron/agent/linux/ip_lib.py", line 86, in _execute
log_fail_as_error=log_fail_as_error)
  File "/opt/stack/neutron/neutron/agent/linux/utils.py", line 84, in execute
raise RuntimeError(m)
TRACE neutron.agent.dhcp_agent RuntimeError: 
TRACE neutron.agent.dhcp_agent Command: ['sudo', 
'/usr/local/bin/neutron-rootwrap', '/etc/neutron/rootwrap.conf', 'ip', 'netns', 
'exec', 'qdhcp-6cdefebf-ab88-4f55-b2b9-719286a7b75b', 'ip', 'route', 'replace', 
'default', 'vi
a', '0.0.0.1', 'dev', 'tapb81e677c-8c']
TRACE neutron.agent.dhcp_agent Exit code: 2
TRACE neutron.agent.dhcp_agent Stdout: ''
TRACE neutron.agent.dhcp_agent Stderr: 'RTNETLINK answers: Network is 
unreachable\n'
TRACE neutron.agent.dhcp_agent 


Steps to reproduce:
NET_NAME=test-ip
neutron net-create ${NET_NAME}
neutron port-create ${NET_NAME}
neutron subnet-create ${NET_NAME} 0.0.0.0/8


Impact:
cause logs to grow more than necessary

** Affects: neutron
 Importance: Undecided
 Status: New

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

Title:
  Invalid subnet cidr cause dhcp runtimerror

Status in OpenStack Neutron (virtual network service):
  New

Bug description:
  Trace:
  ERROR neutron.agent.linux.utils [req-26ce0148-4bc4-40bd-96ac-e9d484f37b61 
demo 12b3399d1cb64da488e20f6a7c355d10] 
  Command: ['sudo', '/usr/local/bin/neutron-rootwrap', 
'/etc/neutron/rootwrap.conf', 'ip', 'netns', 'exec', 
'qdhcp-6cdefebf-ab88-4f55-b2b9-719286a7b75b', 'ip', 'route', 'replace', 
'default', 'via', '0.0.0.1', 'dev', 'tapb81e677c-8c']
  Exit code: 2
  Stdout: ''
  Stderr: 'RTNETLINK answers: Network is unreachable\n'
  ERROR neutron.agent.dhcp_agent [req-26ce0148-4bc4-40bd-96ac-e9d484f37b61 demo 
12b3399d1cb64da488e20f6a7c355d10] Unable to enable dhcp for 
6cdefebf-ab88-4f55-b2b9-719286a7b75b.
  Traceback (most recent call last):
File "/opt/stack/neutron/neutron/agent/dhcp_agent.py", line 128, in 
call_driver
  getattr(driver, action)(**action_kwargs)
File "/opt/stack/neutron/neutron/agent/linux/dhcp.py", line 205, in enable
  interface_name = self.device_manager.setup(self.network)
File "/opt/stack/neutron/neutron/agent/linux/dhcp.py", line 1056, in setup
  self._set_default_route(network, interface_name)
File "/opt/stack/neutron/neutron/agent/linux/dhcp.py", line 928, in 
_set_default_route
  device.route.add_gateway(subnet.gateway_ip)
File "/opt/stack/neutron/neutron/agent/linux/ip_lib.py", line 395, in 
add_gateway
  self._as_root(*args)
File "/opt/stack/neutron/neutron/agent/linux/ip_lib.py", line 242, in 
_as_root
  kwargs.get('use_root_namespace', False))
File "/opt/stack/neutron/neutron/agent/linux/ip_lib.py", line 74, in 
_as_root
  log_fail_as_error=self.log_fail_as_error)
File "/opt/stack/neutron/neutron/agent/linux/ip_lib.py", line 86, in 
_execute
  log_fail_as_error=log_fail_as_error)
File "/opt/stack/neutron/neutron/agent/linux/utils.py", line 84, in execute
  raise RuntimeError(m)
  TRACE neutron.agent.dhcp_agent RuntimeError: 
  TRACE neutron.agent.dhcp_agent Command: ['sudo', 
'/usr/local/bin/neutron-rootwrap', '/etc/neutron/rootwrap.conf', 'ip', 'netns', 
'exec', 'qdhcp-6cdefebf-ab88-4f55-b2b9-719286a7b75b', 'ip', 'route', 'replace', 
'default', 'vi
  a', '0.0.0.1', 'dev', 'tap

[Yahoo-eng-team] [Bug 1471959] [NEW] Dhcp error in network with two subnet when one is disabled

2015-07-06 Thread Tristan Cacqueray
Public bug reported:

Trace:
ERROR neutron.agent.dhcp_agent [-] Unable to enable dhcp for 
125c7403-1ef1-489c-bc0c-cf6a0f83e742.
Traceback (most recent call last):
  File "/opt/stack/neutron/neutron/agent/dhcp_agent.py", line 128, in 
call_driver
getattr(driver, action)(**action_kwargs)
  File "/opt/stack/neutron/neutron/agent/linux/dhcp.py", line 207, in enable
self.spawn_process()
  File "/opt/stack/neutron/neutron/agent/linux/dhcp.py", line 376, in 
spawn_process
'--dhcp-optsfile=%s' % self._output_opts_file(),
  File "/opt/stack/neutron/neutron/agent/linux/dhcp.py", line 646, in 
_output_opts_file
isolated_subnets = self.get_isolated_subnets(self.network)
  File "/opt/stack/neutron/neutron/agent/linux/dhcp.py", line 812, in 
get_isolated_subnets
if subnets[alloc.subnet_id].gateway_ip == alloc.ip_address:
KeyError: u'f1ff257b-ddb8-4069-bf9f-8a60bd704097'
TRACE neutron.agent.dhcp_agent KeyError: u'f1ff257b-ddb8-4069-bf9f-8a60bd704097'
TRACE neutron.agent.dhcp_agent 


Steps to reproduce:
NET_NAME=test-key
I=11
neutron net-create ${NET_NAME}
neutron port-create ${NET_NAME}
neutron subnet-create --name "${NET_NAME}-sub001" ${NET_NAME} 192.168.${I}.1/24
neutron subnet-create --name "${NET_NAME}-sub002" ${NET_NAME} 192.168.${I}1.1/24
while [ "$(neutron port-list | grep "192.168.${I}" | wc -l)" != 2 ]; do
echo "waiting for dhcp port on both subnet"
done
neutron subnet-update --disable-dhcp "${NET_NAME}-sub002"
sleep 10
if [ "$(neutron port-list | grep "192.168.${I}" | wc -l)" != 2 ]; then
echo "failed"
fi

Impact:
cause logs to grow more than necessary

** Affects: neutron
 Importance: Undecided
 Status: New

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

Title:
  Dhcp error in network with two subnet when one is disabled

Status in OpenStack Neutron (virtual network service):
  New

Bug description:
  Trace:
  ERROR neutron.agent.dhcp_agent [-] Unable to enable dhcp for 
125c7403-1ef1-489c-bc0c-cf6a0f83e742.
  Traceback (most recent call last):
File "/opt/stack/neutron/neutron/agent/dhcp_agent.py", line 128, in 
call_driver
  getattr(driver, action)(**action_kwargs)
File "/opt/stack/neutron/neutron/agent/linux/dhcp.py", line 207, in enable
  self.spawn_process()
File "/opt/stack/neutron/neutron/agent/linux/dhcp.py", line 376, in 
spawn_process
  '--dhcp-optsfile=%s' % self._output_opts_file(),
File "/opt/stack/neutron/neutron/agent/linux/dhcp.py", line 646, in 
_output_opts_file
  isolated_subnets = self.get_isolated_subnets(self.network)
File "/opt/stack/neutron/neutron/agent/linux/dhcp.py", line 812, in 
get_isolated_subnets
  if subnets[alloc.subnet_id].gateway_ip == alloc.ip_address:
  KeyError: u'f1ff257b-ddb8-4069-bf9f-8a60bd704097'
  TRACE neutron.agent.dhcp_agent KeyError: 
u'f1ff257b-ddb8-4069-bf9f-8a60bd704097'
  TRACE neutron.agent.dhcp_agent 

  
  Steps to reproduce:
  NET_NAME=test-key
  I=11
  neutron net-create ${NET_NAME}
  neutron port-create ${NET_NAME}
  neutron subnet-create --name "${NET_NAME}-sub001" ${NET_NAME} 
192.168.${I}.1/24
  neutron subnet-create --name "${NET_NAME}-sub002" ${NET_NAME} 
192.168.${I}1.1/24
  while [ "$(neutron port-list | grep "192.168.${I}" | wc -l)" != 2 ]; do
  echo "waiting for dhcp port on both subnet"
  done
  neutron subnet-update --disable-dhcp "${NET_NAME}-sub002"
  sleep 10
  if [ "$(neutron port-list | grep "192.168.${I}" | wc -l)" != 2 ]; then
  echo "failed"
  fi

  Impact:
  cause logs to grow more than necessary

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

-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to : yahoo-eng-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp


[Yahoo-eng-team] [Bug 1461054] Re: [OSSA 2015-012] Adding 0.0.0.0/0 to allowed address pairs breaks l2 agent (CVE-2015-3221)

2015-07-02 Thread Tristan Cacqueray
** Changed in: ossa
   Status: Fix Committed => Fix Released

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

Title:
  [OSSA 2015-012] Adding 0.0.0.0/0 to allowed address pairs breaks l2
  agent (CVE-2015-3221)

Status in OpenStack Neutron (virtual network service):
  Fix Committed
Status in neutron juno series:
  Fix Committed
Status in neutron kilo series:
  Fix Committed
Status in OpenStack Security Advisories:
  Fix Released

Bug description:
  This issue is being treated as a potential security risk under
  embargo. Please do not make any public mention of embargoed (private)
  security vulnerabilities before their coordinated publication by the
  OpenStack Vulnerability Management Team in the form of an official
  OpenStack Security Advisory. This includes discussion of the bug or
  associated fixes in public forums such as mailing lists, code review
  systems and bug trackers. Please also avoid private disclosure to
  other individuals not already approved for access to this information,
  and provide this same reminder to those who are made aware of the
  issue prior to publication. All discussion should remain confined to
  this private bug report, and any proposed fixes should be added to the
  bug as attachments.

  vagrant@node1:~$ neutron port-update $PORT_ID --allowed_address_pairs 
list=true type=dict ip_address=0.0.0.0/0
  Updated port: 28dc7eb1-6f95-429f-8e30-adaefffcec70

  This does not work - the ipset man page says that zero prefix size is not 
allowed for type hash:net.
  But it also breaks the l2 agent and so affects other ports/vms/tenants ... - 
so opening as security vulnerability.

  2015-06-02 11:02:31.897 ERROR neutron.agent.linux.utils 
[req-6dfc4e3b-7162-4528-b821-295de80aa7ed None None]
  Command: ['ipset', 'add', '-exist', u'NETIPv48a445928-2f41-43de-a', 
u'0.0.0.0/0']
  Exit code: 1
  Stdin:
  Stdout:
  Stderr: ipset v6.20.1: The value of the CIDR parameter of the IP address is 
invalid

  2015-06-02 11:02:31.898 DEBUG oslo_concurrency.lockutils 
[req-6dfc4e3b-7162-4528-b821-295de80aa7ed None None] Releasing file lock 
"/opt/stack/data/neutron/lock/neutron-ipset" after holding it for 0.006s 
release /usr/local/lib/python2.7/dist-packages/oslo_concurrency/lockutils.py:227
  2015-06-02 11:02:31.898 DEBUG oslo_concurrency.lockutils 
[req-6dfc4e3b-7162-4528-b821-295de80aa7ed None None] Lock "ipset" released by 
"set_members" :: held 0.006s inner 
/usr/local/lib/python2.7/dist-packages/oslo_concurrency/lockutils.py:456
  2015-06-02 11:02:31.898 ERROR 
neutron.plugins.openvswitch.agent.ovs_neutron_agent 
[req-6dfc4e3b-7162-4528-b821-295de80aa7ed None None] Error while processing VIF 
ports
  2015-06-02 11:02:31.898 3679 TRACE 
neutron.plugins.openvswitch.agent.ovs_neutron_agent Traceback (most recent call 
last):
  2015-06-02 11:02:31.898 3679 TRACE 
neutron.plugins.openvswitch.agent.ovs_neutron_agent   File 
"/opt/stack/neutron/neutron/plugins/openvswitch/agent/ovs_neutron_agent.py", 
line 1640, in rpc_loop
  2015-06-02 11:02:31.898 3679 TRACE 
neutron.plugins.openvswitch.agent.ovs_neutron_agent ovs_restarted)
  2015-06-02 11:02:31.898 3679 TRACE 
neutron.plugins.openvswitch.agent.ovs_neutron_agent   File 
"/opt/stack/neutron/neutron/plugins/openvswitch/agent/ovs_neutron_agent.py", 
line 1434, in process_network_ports
  2015-06-02 11:02:31.898 3679 TRACE 
neutron.plugins.openvswitch.agent.ovs_neutron_agent 
port_info.get('updated', set()))
  2015-06-02 11:02:31.898 3679 TRACE 
neutron.plugins.openvswitch.agent.ovs_neutron_agent   File 
"/opt/stack/neutron/neutron/agent/securitygroups_rpc.py", line 302, in 
setup_port_filters
  2015-06-02 11:02:31.898 3679 TRACE 
neutron.plugins.openvswitch.agent.ovs_neutron_agent 
self.prepare_devices_filter(new_devices)
  2015-06-02 11:02:31.898 3679 TRACE 
neutron.plugins.openvswitch.agent.ovs_neutron_agent   File 
"/opt/stack/neutron/neutron/agent/securitygroups_rpc.py", line 159, in 
decorated_function
  2015-06-02 11:02:31.898 3679 TRACE 
neutron.plugins.openvswitch.agent.ovs_neutron_agent *args, **kwargs)
  2015-06-02 11:02:31.898 3679 TRACE 
neutron.plugins.openvswitch.agent.ovs_neutron_agent   File 
"/opt/stack/neutron/neutron/agent/securitygroups_rpc.py", line 185, in 
prepare_devices_filter
  2015-06-02 11:02:31.898 3679 TRACE 
neutron.plugins.openvswitch.agent.ovs_neutron_agent security_groups, 
security_group_member_ips)
  2015-06-02 11:02:31.898 3679 TRACE 
neutron.plugins.openvswitch.agent.ovs_neutron_agent   File 
"/usr/lib/python2.7/contextlib.py", line 24, in __exit__
  2015-06-02 11:02:31.898 3679 TRACE 
neutron.plugins.openvswitch.agent.ovs_neutron_agent self.gen.next()
  2015-06-02 11:02:31.898 3679 TRACE 
neutron.plugins.openvswitch.agent.ovs_neutron_agent   File 
"/opt/stack/neutron/neutron/agent/firewall.py", line 106, in defer_apply
  2015-06-02 11:02:31.898 3679 TRACE 
neutron.

[Yahoo-eng-team] [Bug 1461728] Re: V2.0 API not calling defined external auth

2015-06-29 Thread Tristan Cacqueray
** Changed in: ossa
   Status: Incomplete => Won't Fix

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

Title:
  V2.0 API not calling defined external auth

Status in OpenStack Identity (Keystone):
  Won't Fix
Status in OpenStack Security Advisories:
  Won't Fix

Bug description:
  When keystone.conf is defined with external auth , all V2.0 API calls
  do not get intercepted by the defined external auth.

  this is my keystone.conf
  [auth]
  methods=password,token,external
  external=keystone.auth.plugins.idm_external.IDMDefaultDomain

  V.20 CURL to initiate external auth.
  curl -X POST -d '{"auth":{}}' -H "Content-type: application/json" -H 
"REMOTE_USER: admin" http://localhost:5000/v2.0/tokens

  What I'm seeing is the call gets to the keystone/token/controller.py,
  where it checks for the auth{} and executes the external
  authentication

  if "token" in auth:
  # Try to authenticate using a token
  auth_info = self._authenticate_token(
  context, auth)
  else:
  # Try external authentication
  try:
  auth_info = self._authenticate_external(
  context, auth)
  except ExternalAuthNotApplicable:
  # Try local authentication
  auth_info = self._authenticate_local(
  context, auth)

  ...
     def _authenticate_external(self, context, auth):
  """Try to authenticate an external user via REMOTE_USER variable.

  Returns auth_token_data, (user_ref, tenant_ref, metadata_ref)
  """
  if 'REMOTE_USER' not in context.get('environment', {}):
  raise ExternalAuthNotApplicable()

  #NOTE(jamielennox): xml and json differ and get confused about what
  # empty auth should look like so just reset it.
  if not auth:
  auth = {}

  username = context['environment']['REMOTE_USER']
  try:
  user_ref = self.identity_api.get_user_by_name(
  username, CONF.identity.default_domain_id)
  user_id = user_ref['id']
  except exception.UserNotFound as e:
  raise exception.Unauthorized(e)

  metadata_ref = {}
  tenant_id = self._get_project_id_from_auth(auth)
  tenant_ref, metadata_ref['roles'] = self._get_project_roles_and_ref(
  user_id, tenant_id)

  expiry = core.default_expire_time()
  bind = None
  if ('kerberos' in CONF.token.bind and
  context['environment'].
  get('AUTH_TYPE', '').lower() == 'negotiate'):
  bind = {'kerberos': username}

  return (user_ref, tenant_ref, metadata_ref, expiry, bind)

  The  _authenticate_external should not assume and have its own
  REMOTE_USER implementation,  instead it should look for the external
  method defined in keystone.conf and appropriately call the defined
  external class.

  The V3 call works fine and calls the right external class defined.
  curl -X POST -d 
'{"auth":{"identity":{"methods":["external"],"external":{'  -H 
"REMOTE_USER:admin" -H "Content-type: application/json" 
http://localhost:5000/v3/auth/tokens

  This is potentially a security hole as well, which will allow all V2
  API's to get Keystone token w/o password.

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

-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to : yahoo-eng-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp


[Yahoo-eng-team] [Bug 1456228] Re: Trusted vm can be powered on untrusted host

2015-06-23 Thread Tristan Cacqueray
Sylvain, if the trusted computing feature of Nova doesn't prevent an
instance to spawn on a compromised node, then maybe the feature should
be removed, or at least have a clear mention about that behavior.

According to vulnerability taxonomy, this issue falls in the B2 class (
https://security.openstack.org/vmt-process.html#incident-report-taxonomy
), I've set the OSSA tasks to won't fix and added a new OSSN tasks.

** Also affects: ossn
   Importance: Undecided
   Status: New

** Changed in: ossa
   Status: Incomplete => Won't Fix

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/1456228

Title:
  Trusted vm can be powered on untrusted host

Status in OpenStack Compute (Nova):
  Invalid
Status in OpenStack Security Advisories:
  Won't Fix
Status in OpenStack Security Notes:
  New

Bug description:
  This is related to the trusted compute.

  I recently setup trusted compute pool in my company and have observed
  that although new trusted vm is not able to be launched from an
  untrusted host, but if an trusted vm that have launched earlier on a
  trusted host which is compromised later on, that VM can still be
  powered on.

  1. Exact version of Nova/Openstack:
  [root@grunt2 ~]# rpm -qa | grep nova
  python-nova-2014.1.2-100+45c2cbc.fc20.noarch
  openstack-nova-network-2014.1.2-100+45c2cbc.fc20.noarch
  openstack-nova-compute-2014.1.2-100+45c2cbc.fc20.noarch
  openstack-nova-conductor-2014.1.2-100+45c2cbc.fc20.noarch
  openstack-nova-2014.1.2-100+45c2cbc.fc20.noarch
  openstack-nova-cells-2014.1.2-100+45c2cbc.fc20.noarch
  openstack-nova-api-2014.1.2-100+45c2cbc.fc20.noarch
  openstack-nova-console-2014.1.2-100+45c2cbc.fc20.noarch
  python-novaclient-2.17.0-2.fc21.noarch
  openstack-nova-cert-2014.1.2-100+45c2cbc.fc20.noarch
  openstack-nova-scheduler-2014.1.2-100+45c2cbc.fc20.noarch
  openstack-nova-objectstore-2014.1.2-100+45c2cbc.fc20.noarch
  openstack-nova-common-2014.1.2-100+45c2cbc.fc20.noarch
  openstack-nova-novncproxy-2014.1.2-100+45c2cbc.fc20.noarch
  openstack-nova-doc-2014.1.2-100+45c2cbc.fc20.noarch

  2. Relevant log files:
  this is not a error, don't think logs will help..

  3.  Reproduce steps:

  * create trusted compute pool  with only one compute node
  * create an trusted VM on that compute node
  * compromise the trusted compute node by changing the boot order
  * power on the trusted Vm created earlier.

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

-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to : yahoo-eng-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp


[Yahoo-eng-team] [Bug 1464750] Re: Service accounts can be used to login horizon

2015-06-22 Thread Tristan Cacqueray
** Changed in: ossa
   Status: Incomplete => Won't Fix

** Information type changed from Private Security to Public

** Also affects: ossn
   Importance: Undecided
   Status: New

** Changed in: ossn
   Status: New => Incomplete

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Dashboard (Horizon).
https://bugs.launchpad.net/bugs/1464750

Title:
  Service accounts can be used to login horizon

Status in OpenStack Dashboard (Horizon):
  Incomplete
Status in OpenStack Security Advisories:
  Won't Fix
Status in OpenStack Security Notes:
  Incomplete

Bug description:
  This is not a bug and may / may not be a security issue ... but it
  appears that the service account created in keystone are of the same
  privileges level as any other admin accounts created through keystone
  and I don't like that.

  Would it be possible to implement something that would distinguish
  user accounts from service accounts?  Is there a way to isolate some
  service accounts from the remaining of the openstack APIs?

  One kick example on this is that any service accounts have admin
  privileges on all the other services .   At this point, I'm trying to
  figure out why are we creating a distinct service account for each
  service if nothing isolate them.

  IE:

  glance account can spawn a VM
  cinder account can delete an image
  heat account can delete a volume
  nova account can create an image

  
  All of these service accounts have access to the horizon dashboard.  One 
small hack could be to prevent those accounts from logging in Horizon.

  Thanks,

  Dave

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

-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to : yahoo-eng-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp


[Yahoo-eng-team] [Bug 1461433] Re: Automatically generated admin password is not complex enough

2015-06-11 Thread Tristan Cacqueray
This is a class D type of bug ( https://security.openstack.org/vmt-
process.html#incident-report-taxonomy ).

** Changed in: ossa
   Status: Incomplete => Won't Fix

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/1461433

Title:
  Automatically generated admin password is not complex enough

Status in OpenStack Compute (Nova):
  New
Status in OpenStack Security Advisories:
  Won't Fix

Bug description:
  When performing actions such as create instances, evacuate instances,
  rebuild instances, rescue instances and update instances' admin
  password. When the user dose not provide admin password,
  generate_password() in utils.py is used to generate an admin password.
  Generate_password() now uses two password symbol groups: default and
  easier, the default symbol group contains numbers, upper case letters
  and small case letters. the easier symbol group contains only numbers
  and upper case letters.  The generated password is not complex enough
  and can cause security problems.

  One possible solution is to add a new symbol group:
  STRONGER_PASSWORD_SYMBOLS which contains numbers, upper case letters,
  lower case letters and also special characters such as
  `~!@#$%^&*()-_=+ and space. Then adding a new option in configuration
  file: generate_strong_password = True, when this option is set, nova
  will generate password using STRONGER_PASSWORD_SYMBOLS symbol group
  and with longer password length. If this option is not set, the
  password will be generated using the default symbol group and default
  length.

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

-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to : yahoo-eng-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp


[Yahoo-eng-team] [Bug 1461431] Re: Enable admin password complexity verification

2015-06-11 Thread Tristan Cacqueray
Agreed on class D type of bug.

** Changed in: ossa
   Status: Incomplete => Won't Fix

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/1461431

Title:
  Enable admin password complexity verification

Status in OpenStack Compute (Nova):
  New
Status in OpenStack Security Advisories:
  Won't Fix

Bug description:
  When performing actions such as create instances, evacuate instances,
  rebuild instances, rescue instances and update instances' admin
  password. The complexity of user provided admin password has not been
  verified. This can cause security problems.

  One solution will be adding a configuration option:
  using_complex_admin_password = True, if this option is set in
  configure file by administrator, then Nova will perform password
  complexity checks, the check standards can be set to following the IT
  industry general standard, if the provided admin password is not
  complex enough, an exception will be throw. If this option is not set
  in configure file, then the complexity check will be skipped.

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

-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to : yahoo-eng-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp


[Yahoo-eng-team] [Bug 1453074] Re: [OSSA 2015-010] help_text parameter of fields is vulnerable to arbitrary html injection (CVE-2015-3219)

2015-06-10 Thread Tristan Cacqueray
All patches are now merged, shouldn't series task be added to Horizon ?

** Changed in: ossa
   Status: Fix Committed => Fix Released

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Dashboard (Horizon).
https://bugs.launchpad.net/bugs/1453074

Title:
  [OSSA 2015-010] help_text parameter of fields is vulnerable to
  arbitrary html injection (CVE-2015-3219)

Status in OpenStack Dashboard (Horizon):
  Fix Committed
Status in OpenStack Security Advisories:
  Fix Released

Bug description:
  The Field class help_text attribute is vulnerable to code injection if
  the text is somehow taken from the user input.

  Heat UI allows to create stacks from the user input which define
  parameters. Those parameters are then converted to the input field
  which are vulnerable.

  The heat stack example exploit:

  description: Does not matter
  heat_template_version: '2013-05-23'
  outputs: {}
  parameters:
    param1:
  type: string
  label: normal_label
  description: hack=">alert('YOUR HORIZON IS PWNED')"
  resources: {}

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

-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to : yahoo-eng-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp


[Yahoo-eng-team] [Bug 1443798] Re: Restrict netmask of CIDR to avoid DHCP resync

2015-06-09 Thread Tristan Cacqueray
Thanks Salvatore for the detail.

** Changed in: ossa
   Status: Incomplete => Won't Fix

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

Title:
  Restrict netmask of CIDR to avoid DHCP resync

Status in OpenStack Neutron (virtual network service):
  Fix Committed
Status in neutron icehouse series:
  Incomplete
Status in neutron juno series:
  Incomplete
Status in neutron kilo series:
  Fix Released
Status in OpenStack Security Advisories:
  Won't Fix

Bug description:
  If any tenant creates a subnet with a netmask of 31 or 32 in IPv4,
  IP addresses of network will fail to be generated, and that
  will cause constant resyncs and neutron-dhcp-agent malfunction.

  [Example operation 1]
   - Create subnet from CLI, with CIDR /31 (CIDR /32 has the same result).

  $ neutron subnet-create net 192.168.0.0/31 --name sub
  Created a new subnet:
  +---+--+
  | Field | Value|
  +---+--+
  | allocation_pools  |  |
  | cidr  | 192.168.0.0/31   |
  | dns_nameservers   |  |
  | enable_dhcp   | True |
  | gateway_ip| 192.168.0.1  |
  | host_routes   |  |
  | id| 42a91f59-1c2d-4e33-9033-4691069c5e4b |
  | ip_version| 4|
  | ipv6_address_mode |  |
  | ipv6_ra_mode  |  |
  | name  | sub  |
  | network_id| 65cc6b46-17ec-41a8-9fe4-5bf93fc25d1e |
  | subnetpool_id |  |
  | tenant_id | 4ffb89e718d346b48fdce2ac61537bce |
  +---+--+

  [Example operation 2]
   - Create subnet from API, with cidr /32 (CIDR /31 has the same result).

  $ curl -i -X POST -H "content-type:application/json" -d '{"subnet": { "name": 
"badsub", "cidr" : "192.168.0.0/32", "ip_version": 4, "network_id": "8
  8143cda-5fe7-45b6-9245-b1e8b75d28d8"}}' -H "x-auth-token:$TOKEN" 
http://192.168.122.130:9696/v2.0/subnets
  HTTP/1.1 201 Created
  Content-Type: application/json; charset=UTF-8
  Content-Length: 410
  X-Openstack-Request-Id: req-4e7e74c0-0190-4a69-a9eb-93d545e8aeef
  Date: Thu, 16 Apr 2015 19:21:20 GMT

  {"subnet": {"name": "badsub", "enable_dhcp": true, "network_id":
  "88143cda-5fe7-45b6-9245-b1e8b75d28d8", "tenant_id":
  "4ffb89e718d346b48fdce2ac61537bce", "dns_nameservers": [],
  "gateway_ip": "192.168.0.1", "ipv6_ra_mode": null, "allocation_pools":
  [], "host_routes": [], "ip_version": 4, "ipv6_address_mode": null,
  "cidr": "192.168.0.0/32", "id": "d210d5fd-8b3b-4c0e-b5ad-
  41798bd47d97", "subnetpool_id": null}}

  [Example operation 3]
   - Create subnet from API, with empty allocation_pools.

  $ curl -i -X POST -H "content-type:application/json" -d '{"subnet": { "name": 
"badsub", "cidr" : "192.168.0.0/24", "allocation_pools": [], "ip_version": 4, 
"network_id": "88143cda-5fe7-45b6-9245-b1e8b75d28d8"}}' -H 
"x-auth-token:$TOKEN" http://192.168.122.130:9696/v2.0/subnets
  HTTP/1.1 201 Created
  Content-Type: application/json; charset=UTF-8
  Content-Length: 410
  X-Openstack-Request-Id: req-54ce81db-b586-4887-b60b-8776a2ebdb4e
  Date: Thu, 16 Apr 2015 19:18:21 GMT

  {"subnet": {"name": "badsub", "enable_dhcp": true, "network_id":
  "88143cda-5fe7-45b6-9245-b1e8b75d28d8", "tenant_id":
  "4ffb89e718d346b48fdce2ac61537bce", "dns_nameservers": [],
  "gateway_ip": "192.168.0.1", "ipv6_ra_mode": null, "allocation_pools":
  [], "host_routes": [], "ip_version": 4, "ipv6_address_mode": null,
  "cidr": "192.168.0.0/24", "id": "abc2dca4-bf8b-46f5-af1a-
  0a1049309854", "subnetpool_id": null}}

  [Trace log]
  2015-04-17 04:23:27.907 16641 DEBUG oslo_messaging._drivers.amqp [-] 
UNIQUE_ID is e0a6a81a005d4aa0b40130506afa0267. _add_unique_id 
/usr/local/lib/python2.7/dist-packages/oslo_messaging/_drivers/amqp.py:258
  2015-04-17 04:23:27.979 16641 ERROR neutron.agent.dhcp.agent [-] Unable to 
enable dhcp for 88143cda-5fe7-45b6-9245-b1e8b75d28d8.
  2015-04-17 04:23:27.979 16641 TRACE neutron.agent.dhcp.agent Traceback (most 
recent call last):
  2015-04-17 04:23:27.979 16641 TRACE neutron.agent.dhcp.agent   File 
"/opt/stack/neutron/neutron/agent/dhcp/agent.py", line 112, in call_driver
  2015-04-17 04:23:27.979 16641 TRACE neutron.agent.dhcp.agent 
getattr(driver, action)(**action_kwargs)
  2015-04-17 04:23:27.979 16641 TRACE neutron.agent.dhcp.agent   File 
"/opt/stack/neutron/neutron/agent/linux/dhcp.py", line 201, in enable
  2015-04-17 04:23:27.979 16641 TRACE neutron.agent.dhcp.agen

[Yahoo-eng-team] [Bug 1455582] Re: Hypervisor compromise may result in malicious trust creation

2015-06-08 Thread Tristan Cacqueray
** Also affects: ossn
   Importance: Undecided
   Status: New

** Changed in: ossa
   Status: Incomplete => Won't Fix

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

Title:
  Hypervisor compromise may result in malicious trust creation

Status in OpenStack Identity (Keystone):
  Confirmed
Status in OpenStack Security Advisories:
  Won't Fix
Status in OpenStack Security Notes:
  New

Bug description:
  
  If a hypervisor is compromised, and the hypervisor is a a Nova compute node, 
the end user now has access to every token that passes through that node.

  By default, a keystone token can be exchanged for another token. There
  is no restriction on scoping of the new token.  A scoped token can be
  exchanged for an unscoped token, or a token scoped to a different
  project.

  We had set the default time limit for tokens down to 1 hour, to reduce
  the surface area of the attack.  However, many workloads require a
  single token for the whole workload, and these workloads take more
  than one hour, so several installations have increased token lifespans
  back to the old value of  24 hours.

  A token can be used to change a password.  If this is done, all tokens
  are revoked for the user.

  With the trust API, a user can set up a long term delegation that
  allows another user to perform an operation on their behalf.  While
  tokens created via trusts are limited in what they can do, the
  limitations are only on things like change passwords or create a new
  token.

  Thus, if an attacker compromises a compute node and harvests tokens,
  the highest value attack for them is to automatically create a trust
  from the compromised user to some other account.  This bypasses the
  time limitation of the token expiration, and will allow the attacker
  to perform operations on the users resources at the attackers
  convenience.

  Any site that is running a recent version of Heat would be expected to
  have many trusts set up from the customer user accounts to the Heat
  service user.  Heat creates trusts using the users tokens, so we know
  this approach is not just theoretical, but actively used.

  This leaves a fairly obvious trail, in that a user can see all of the
  trusts created with the user as the trustor.  Any trusts that do not
  have a Heat user as the trustee are suspect.  It might even be
  possible to compromise Heat users, so even those should be audited.

  There are other ways that a harvested token can be abused, but the
  trust approach is the one I find the most worrysome, as it could be
  done as a "sleeper" agent.

  The same issues apply to the OAUTH1.0a extension.

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

-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to : yahoo-eng-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp


[Yahoo-eng-team] [Bug 1461095] Re: Token is not revoked when removing a user from project in Horizon

2015-06-05 Thread Tristan Cacqueray
Then it's an OSSA class E type of bug.

** Changed in: ossa
   Status: Incomplete => Won't Fix

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

Title:
  Token is not revoked when removing a user from project in Horizon

Status in OpenStack Identity (Keystone):
  Invalid
Status in OpenStack Security Advisories:
  Won't Fix

Bug description:
  Steps:
  1. Login to dashboard as admin
  2. Create project (as example - `project_1`)
  3. Create Member-user.
  4. add Member-user  to `project_1`
  5. In another browser login as Member-user
  6. go to `/project/instance` (the behavior is typical for another pages - 
`volumes`, `images`, `identity`)
  7. refresh (or go to page) - 3-5 times. Stay of this page.
  8. Then, as admin, remove Member-user from `project_1`
  9. as Member-user try go to `/project/instance` -- you don't get error

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

-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to : yahoo-eng-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp


[Yahoo-eng-team] [Bug 1461095] Re: Token is not revoked when removing a user from project in Horizon

2015-06-03 Thread Tristan Cacqueray
** Also affects: ossa
   Importance: Undecided
   Status: New

** Changed in: ossa
   Status: New => Incomplete

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

Title:
  Token is not revoked when removing a user from project in Horizon

Status in OpenStack Identity (Keystone):
  New
Status in OpenStack Security Advisories:
  Incomplete

Bug description:
  Steps:
  1. Login to dashboard as admin
  2. Create project (as example - `project_1`)
  3. Create Member-user.
  4. add Member-user  to `project_1`
  5. In another browser login as Member-user
  6. go to `/project/instance` (the behavior is typical for another pages - 
`volumes`, `images`, `identity`)
  7. refresh (or go to page) - 3-5 times. Stay of this page.
  8. Then, as admin, remove Member-user from `project_1`
  9. as Member-user try go to `/project/instance` -- you don't get error

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

-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to : yahoo-eng-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp


[Yahoo-eng-team] [Bug 1449260] Re: [OSSA 2015-009] Sanitation of metadata label (CVE-2015-3988)

2015-06-01 Thread Tristan Cacqueray
** Summary changed:

- Sanitation of metadata label (CVE-2015-3988)
+ [OSSA 2015-009] Sanitation of metadata label (CVE-2015-3988)

** Changed in: ossa
   Status: Fix Committed => Fix Released

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Dashboard (Horizon).
https://bugs.launchpad.net/bugs/1449260

Title:
  [OSSA 2015-009] Sanitation of metadata label (CVE-2015-3988)

Status in OpenStack Dashboard (Horizon):
  Fix Committed
Status in OpenStack Security Advisories:
  Fix Released

Bug description:
  1) Start up Horizon
  2) Go to Images
  3) Next to an image, pick "Update Metadata"
  4) From the dropdown button, select "Update Metadata"
  5) In the Custom box, enter a value with some HTML like 
'alert(1)//', click +
  6) On the right-hand side, give it a value, like "ee"
  7) Click "Save"
  8) Pick "Update Metadata" for the image again, the page will fail to load, 
and the JavaScript console says:

  SyntaxError: invalid property id
  var existing_metadata = {"

  An alternative is if you change the URL to update_metadata for the
  image (for example,
  
http://192.168.122.239/admin/images/fa62ba27-e731-4ab9-8487-f31bac355b4c/update_metadata/),
  it will actually display the alert box and a bunch of junk.

  I'm not sure if update_metadata is actually a page, though... can't
  figure out how to get to it other than typing it in.

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

-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to : yahoo-eng-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp


[Yahoo-eng-team] [Bug 1443598] Re: [OSSA 2015-008] backend_argument containing a password leaked in logs (CVE-2015-3646)

2015-05-27 Thread Tristan Cacqueray
** Changed in: ossa
   Status: Fix Committed => Fix Released

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

Title:
  [OSSA 2015-008] backend_argument containing a password leaked in logs
  (CVE-2015-3646)

Status in OpenStack Identity (Keystone):
  Fix Committed
Status in Keystone icehouse series:
  Fix Committed
Status in Keystone juno series:
  Fix Committed
Status in Keystone kilo series:
  Fix Released
Status in OpenStack Security Advisories:
  Fix Released

Bug description:
  The keystone.conf has an option backend_argument to set various
  options for the caching backend.  As documented, some of the potential
  values can contain a password.

  Snippet from
  http://docs.openstack.org/developer/keystone/developing.html#dogpile-
  cache-based-mongodb-nosql-backend

  [cache]
  # Global cache functionality toggle.
  enabled = True

  # Referring to specific cache backend
  backend = keystone.cache.mongo

  # Backend specific configuration arguments
  backend_argument = db_hosts:localhost:27017
  backend_argument = db_name:ks_cache
  backend_argument = cache_collection:cache
  backend_argument = username:test_user
  backend_argument = password:test_password

  As a result, passwords can be leaked to the keystone logs since the
  config options is not marked secret.

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

-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to : yahoo-eng-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp


[Yahoo-eng-team] [Bug 1456228] Re: Trusted vm can be powered on untrusted host

2015-05-25 Thread Tristan Cacqueray
Since this report concerns a possible security risk, an incomplete
security advisory task has been added while the core security reviewers
for the affected project or projects confirm the bug and discuss the
scope of any vulnerability along with potential solutions.

Can a Nova core confirm that report ?

** Also affects: ossa
   Importance: Undecided
   Status: New

** Changed in: ossa
   Status: New => Incomplete

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/1456228

Title:
  Trusted vm can be powered on untrusted host

Status in OpenStack Compute (Nova):
  New
Status in OpenStack Security Advisories:
  Incomplete

Bug description:
  This is related to the trusted compute.

  I recently setup trusted compute pool in my company and have observed
  that although new trusted vm is not able to be launched from an
  untrusted host, but if an trusted vm that have launched earlier on a
  trusted host which is compromised later on, that VM can still be
  powered on.

  1. Exact version of Nova/Openstack:
  [root@grunt2 ~]# rpm -qa | grep nova
  python-nova-2014.1.2-100+45c2cbc.fc20.noarch
  openstack-nova-network-2014.1.2-100+45c2cbc.fc20.noarch
  openstack-nova-compute-2014.1.2-100+45c2cbc.fc20.noarch
  openstack-nova-conductor-2014.1.2-100+45c2cbc.fc20.noarch
  openstack-nova-2014.1.2-100+45c2cbc.fc20.noarch
  openstack-nova-cells-2014.1.2-100+45c2cbc.fc20.noarch
  openstack-nova-api-2014.1.2-100+45c2cbc.fc20.noarch
  openstack-nova-console-2014.1.2-100+45c2cbc.fc20.noarch
  python-novaclient-2.17.0-2.fc21.noarch
  openstack-nova-cert-2014.1.2-100+45c2cbc.fc20.noarch
  openstack-nova-scheduler-2014.1.2-100+45c2cbc.fc20.noarch
  openstack-nova-objectstore-2014.1.2-100+45c2cbc.fc20.noarch
  openstack-nova-common-2014.1.2-100+45c2cbc.fc20.noarch
  openstack-nova-novncproxy-2014.1.2-100+45c2cbc.fc20.noarch
  openstack-nova-doc-2014.1.2-100+45c2cbc.fc20.noarch

  2. Relevant log files:
  this is not a error, don't think logs will help..

  3.  Reproduce steps:

  * create trusted compute pool  with only one compute node
  * create an trusted VM on that compute node
  * compromise the trusted compute node by changing the boot order
  * power on the trusted Vm created earlier.

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

-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to : yahoo-eng-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp


[Yahoo-eng-team] [Bug 1429093] Re: nova allows to boot images with virtual size > root_gb specified in flavor

2015-05-11 Thread Tristan Cacqueray
I've mark the OSSA task as won't fix as it's considered a vulnerability
per se.

** Changed in: ossa
   Status: Incomplete => Won't Fix

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/1429093

Title:
  nova allows to boot images with virtual size > root_gb specified in
  flavor

Status in OpenStack Compute (Nova):
  Fix Committed
Status in OpenStack Compute (nova) kilo series:
  Fix Released
Status in OpenStack Security Advisories:
  Won't Fix

Bug description:
  It's currently possible to boot an instance from a QCOW2 image, which
  has the virtual size larger than root_gb size specified in the given
  flavor.

  Steps to reproduce:

  1. Download a QCOW2 image (e.g. Cirros -
  https://launchpad.net/cirros/trunk/0.3.0/+download/cirros-0.3.0-i386-disk.img)

  2. Resize the image to a reasonable size:

  qemu-img resize cirros-0.3.0-i386-disk.img +9G

  3. Upload the image to Glance:

  glance image-create --file cirros-0.3.0-i386-disk.img --name cirros-
  10GB --is-public True --progress --container-format bare --disk-format
  qcow2

  4. Boot the first VM using a 'correct' flavor (root_gb > virtual size
  of the Cirros image), e.g. m1.small (root_gb = 20)

  nova boot --image cirros-10GB --flavor m1.small demo-ok

  5. Wait until the VM boots.

  6. Boot the second VM using an 'incorrect' flavor (root_gb < virtual
  size of the Cirros image), e.g. m1.tiny (root_gb = 1):

  nova boot --image cirros-10GB --flavor m1.tiny demo-should-fail

  7. Wait until the VM boots.

  Expected result:

  demo-ok is in ACTIVE state
  demo-should-fail is in ERROR state (failed with FlavorDiskTooSmall)

  Actual result:

  demo-ok is in ACTIVE state
  demo-should-fail is in ACTIVE state

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

-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to : yahoo-eng-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp


[Yahoo-eng-team] [Bug 1435386] Re: Specific config setting may result in VMs being taken over through VNC

2015-04-06 Thread Tristan Cacqueray
** Changed in: ossa
   Status: Incomplete => Won't Fix

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/1435386

Title:
  Specific config setting may result in VMs being taken over through VNC

Status in OpenStack Compute (Nova):
  Invalid
Status in OpenStack Manuals:
  New
Status in OpenStack Security Advisories:
  Won't Fix

Bug description:
  Jonathan Hogg from Chargebox reports (edited):

  On a single-machine cloud running OpenStack Icehouse and over the last
  week we have seen compromises of all of the Ubuntu 14.04 VMs running
  on the machine. Scenario shows the attacker gaining access through VNC
  (via controlled reboot to reset root password).

  QEMU instances are running with -vnc 0.0.0.0:1, which may or may not
  be the issue.

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

-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to : yahoo-eng-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp


[Yahoo-eng-team] [Bug 1435396] Re: No notifications for role grants using v2

2015-04-03 Thread Tristan Cacqueray
Since this report concerns a possible security risk, an incomplete
security advisory task has been added while the core security reviewers
for the affected project or projects confirm the bug and discuss the
scope of any vulnerability along with potential solutions.

** Also affects: ossa
   Importance: Undecided
   Status: New

** Changed in: ossa
   Status: New => Incomplete

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

Title:
  No notifications for role grants using v2

Status in OpenStack Identity (Keystone):
  In Progress
Status in OpenStack Security Advisories:
  Incomplete

Bug description:
  
  If you use the v3 API to add or remove role grants, you get notifications 
that it happened, but if you use the v2.0 API, you don't get notifications.

  Keystone needs to send notifications when the v2 API is used, also.

  For example, start with devstack, then grant a role:

  $ keystone user-role-add --user demo --tenant admin --role admin
 - gets a notification for identity.authenticate, but none for 
identity.created.role_assignment

  Same for revoke:

  $ keystone user-role-remove --user demo --tenant admin --role admin
 - gets a notification for identity.authenticate, but none for 
identity.deleted.role_assignment

  v3 works fine:

  $ curl -X PUT -H "X-Auth-Token: $TOKEN"
  http://localhost:5000/v3/projects/$PROJECT_ID/users/$USER_ID/roles/$ROLE_ID

  $ curl -X DELETE -H "X-Auth-Token: $TOKEN"
  http://localhost:5000/v3/projects/$PROJECT_ID/users/$USER_ID/roles/$ROLE_ID

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

-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to : yahoo-eng-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp


[Yahoo-eng-team] [Bug 1409142] Re: [OSSA 2015-005] Websocket Hijacking Vulnerability in Nova VNC Server (CVE-2015-0259)

2015-03-13 Thread Tristan Cacqueray
** Changed in: ossa
   Status: Fix Committed => Fix Released

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/1409142

Title:
  [OSSA 2015-005] Websocket Hijacking Vulnerability in Nova VNC Server
  (CVE-2015-0259)

Status in OpenStack Compute (Nova):
  Fix Committed
Status in OpenStack Compute (nova) icehouse series:
  Fix Released
Status in OpenStack Compute (nova) juno series:
  Fix Committed
Status in OpenStack Security Advisories:
  Fix Released

Bug description:
  This issue is being treated as a potential security risk under
  embargo. Please do not make any public mention of embargoed (private)
  security vulnerabilities before their coordinated publication by the
  OpenStack Vulnerability Management Team in the form of an official
  OpenStack Security Advisory. This includes discussion of the bug or
  associated fixes in public forums such as mailing lists, code review
  systems and bug trackers. Please also avoid private disclosure to
  other individuals not already approved for access to this information,
  and provide this same reminder to those who are made aware of the
  issue prior to publication. All discussion should remain confined to
  this private bug report, and any proposed fixes should be added as to
  the bug as attachments.

  OpenStack Vulnerability Team:

  Brian Manifold (bmani...@cisco.com) from Cisco has discovered a
  vulnerability in the Nova VNC server implementation. We have a patch for
  this vulnerability and consider this a very high risk.

  Please email Dave McCowan (dmcco...@cisco.com) for more details on the
  attached patch.

  Issue Details:

  Horizon uses a VNC client which uses websockets to pass information.  The
  Nova VNC server does not validate the origin of the websocket request,
  which allows an attacker to make a websocket request from another domain.
  If the victim opens both an attacker's site and the VNC console
  simultaneously, or if the victim has recently been using the VNC console
  and then visits the attacker's site, the attacker can make a websocket
  request to the Horizon domain and proxy the connection to another
  destination.

  This gives the attacker full read-write access to the VNC console of any
  instance recently accessed by the victim.

  Recommendation:
   Verify the origin field in request header on all websocket requests.

  Threat:
    CWE-345
   * Insufficient Verification of Data Authenticity -- The software does not
  sufficiently verify the origin or authenticity of data, in a way that
  causes it to accept invalid data.

    CWE-346
   * Origin Validation Error -- The software does not properly verify that
  the source of data or communication is valid.

    CWE-441
   * Unintended Proxy or Intermediary ('Confused Deputy') -- The software
  receives a request, message, or directive from an upstream component, but
  the software does not sufficiently preserve the original source of the
  request before forwarding the request to an external actor that is outside
  of the software's control sphere. This causes the software to appear to be
  the source of the request, leading it to act as a proxy or other
  intermediary between the upstream component and the external actor.

  Steps to reproduce:
   1. Login to horizon
   2. Pick an instance, go to console/vnc tab, wait for console to be loaded
   3. In another browser tab or window, load a VNC console script from local
  disk or remote site
   4. Point the newly loaded VNC console to the VNC server and a connection
  is made
  Result:
   The original connection has been been hijacked by the second connection

  Root cause:
   Cross-Site WebSocket Hijacking is concept that has been written about in
  various security blogs.
  One of the recommended countermeasures is to check the Origin header of
  the WebSocket handshake request.

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

-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to : yahoo-eng-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp


[Yahoo-eng-team] [Bug 1427533] Re: keystone logs password in log message

2015-03-03 Thread Tristan Cacqueray
Thanks Brant for the quick feedback!

I opened the bug since it only concerns master, can you please confirm
the keystone part and tag it for kilo in order to have it fixed before
the release ?

** Information type changed from Private Security to Public Security

** Changed in: ossa
   Status: Incomplete => Won't Fix

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

Title:
  keystone logs password in log message

Status in OpenStack Identity (Keystone):
  New
Status in OpenStack Security Advisories:
  Won't Fix

Bug description:
  Current master branch logs request at

  https://github.com/openstack/keystone/blob/master/keystone/common/wsgi.py#L230

  Sample log

  (keystone.common.wsgi): 2015-03-03 05:42:36,072 INFO wsgi __call__ POST 
/auth/tokens?auth=%7Bu%27scope%27%3A+%7Bu%27project%27%3A+%7Bu%27domain%27%3A+%7Bu%27name%27%3A+u%27Default%27%7D%2C+u%27name%27%3A+u%27admin%27%7D%7D%2C+u%27identity%27%3A+%7Bu%27password%27%3A+%7Bu%27user%27%3A+%7Bu%27domain%27%3A+%7Bu%27id%27%3A+u%27default%27%7D%2C+u%27password%27%3A+u%27admin%27%2C+u%27name%27%3A+u%27admin%27%7D%7D%2C+u%27methods%27%3A+%5Bu%27password%27%5D%7D%7D
  c^[:^C

  If do url decode, you can easily see the user's password

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

-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to : yahoo-eng-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp


[Yahoo-eng-team] [Bug 1371118] Re: [OSSA 2015-004] Image file stays in store if image has been deleted during upload (CVE-2014-9684)

2015-02-23 Thread Tristan Cacqueray
** Changed in: ossa
   Status: Fix Committed => Fix Released

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

Title:
  [OSSA 2015-004] Image file stays in store if image has been deleted
  during upload (CVE-2014-9684)

Status in OpenStack Image Registry and Delivery Service (Glance):
  Fix Released
Status in Glance icehouse series:
  Invalid
Status in Glance juno series:
  Fix Committed
Status in OpenStack Security Advisories:
  Fix Released

Bug description:
  When I create a new task in v2 to upload an image, it creates the
  image record in db, sets status to "saving" and then begins the
  uploading.

  If the image is deleted by appropriate API call while its content is
  still being uploaded, an exception is raised and it is not handled in
  the API code. This leads to the fact that the uploaded image file
  stays in a storage and clogs it.

  File "/opt/stack/glance/glance/common/scripts/image_import/main.py", line 62, 
in _execute 
  uri)
  File "/opt/stack/glance/glance/common/scripts/image_import/main.py", line 95, 
in import_image
  new_image = image_repo.get(image_id)
  File "/opt/stack/glance/glance/api/authorization.py", line 106, in get
  image = self.image_repo.get(image_id)
  File "/opt/stack/glance/glance/domain/proxy.py", line 86, in get
  return self.helper.proxy(self.base.get(item_id))
  File "/opt/stack/glance/glance/api/policy.py", line 179, in get
  return super(ImageRepoProxy, self).get(image_id)
  File "/opt/stack/glance/glance/domain/proxy.py", line 86, in get
  return self.helper.proxy(self.base.get(item_id))
  File "/opt/stack/glance/glance/domain/proxy.py", line 86, in get
  return self.helper.proxy(self.base.get(item_id))
  File "/opt/stack/glance/glance/domain/proxy.py", line 86, in get 
  return self.helper.proxy(self.base.get(item_id))
  File "/opt/stack/glance/glance/db/__init__.py", line 72, in get raise 
exception.NotFound(msg)
  NotFound: No image found with ID e2285448-a56f-45b1-9e6e-216d2b304967

  This bug is very similar to
  https://bugs.launchpad.net/glance/+bug/1188532, but it relates to task
  mechanism in v2.

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

-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to : yahoo-eng-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp


[Yahoo-eng-team] [Bug 1420696] Re: [OSSA 2015-004] Image data remains in backend after deleting the image created using task api (import-from) (CVE-2015-1881)

2015-02-23 Thread Tristan Cacqueray
** Changed in: ossa
   Status: In Progress => Fix Released

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

Title:
  [OSSA 2015-004] Image data remains in backend after deleting the image
  created using task api (import-from) (CVE-2015-1881)

Status in OpenStack Image Registry and Delivery Service (Glance):
  Fix Committed
Status in Glance icehouse series:
  Invalid
Status in Glance juno series:
  Fix Committed
Status in OpenStack Security Advisories:
  Fix Released

Bug description:
  --
  This issue is being treated as a potential security risk under embargo. 
Please do not make any public mention of embargoed (private) security 
vulnerabilities before their coordinated publication by the OpenStack 
Vulnerability Management Team in the form of an official OpenStack Security 
Advisory. This includes discussion of the bug or associated fixes in public 
forums such as mailing lists, code review systems and bug trackers. Please also 
avoid private disclosure to other individuals not already approved for access 
to this information, and provide this same reminder to those who are made aware 
of the issue prior to publication. All discussion should remain confined to 
this private bug report, and any proposed fixes should be added as to the bug 
as attachments.
  --

  Trying to delete image created using task api (import-from) image gets
  deleted from the database, but image data remains in the backend.

  Steps to reproduce:
  1. Create image using task api

  $ curl -i -X POST -H 'User-Agent: python-glanceclient' -H 'Content-
  Type: application/json' -H 'Accept-Encoding: gzip, deflate, compress'
  -H 'Accept: */*' -H 'X-Auth-Token: 35a9e49237b74eddbe5057eb434b3f9e'
  -d '{"type": "import", "input": {"import_from":
  "http://releases.ubuntu.com/14.10/ubuntu-14.10-server-i386.iso";,
  "import_from_format": "raw", "image_properties": {"disk_format":
  "raw", "container_format": "bare", "name": "task_image"}}}'
  http://10.69.4.176:9292/v2/tasks

  2. wait until image becomes active.
  3. Confirm image is in active state.
     $ glance image-list
  4. Delete the image
     $ glance image-delete 
  5. Verify image-list does not show deleted image
     $ glance image-list

  Image gets deleted from the database but image data presents in the
  backend.

  Problem:
  Import task does not update the location of the image and it remains None 
even image becomes active.
  Location entry is not added in the database in image_locations table.

  While deleting the image it checks if location is present for image
  [1][2] then only it deletes that image data from that location.

  [1] v1: 
https://github.com/openstack/glance/blob/master/glance/api/v1/images.py#L1066
  [2] v2: 
https://github.com/openstack/glance/blob/master/glance/location.py#L361

  This issue is reproducible in stable/juno as well as in current
  master.

  Note: You need to replace auth_token in above curl command, otherwise it will 
raise error for authentication failure.
  (Use 'keystone token-get' command to generate the new token)

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

-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to : yahoo-eng-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp


  1   2   >