<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 20:33:58 UTC 2024

It is possible to restrict the fields that are returned in this document by specifying the 'field' parameter in your request.
For example, to request only the issue key and summary append 'field=key&field=summary' to the URL of your request.
-->
<rss version="0.92" >
<channel>
    <title>OpenDaylight JIRA</title>
    <link>https://jira.opendaylight.org</link>
    <description>This file is an XML representation of an issue</description>
    <language>en-us</language>    <build-info>
        <version>8.20.10</version>
        <build-number>820010</build-number>
        <build-date>22-06-2022</build-date>
    </build-info>


<item>
            <title>[OPNFLWPLUG-1012] Denial of Service, Improper Authentication and, Authorization, and Covert Channel in the OpenFlow 1.0+ handshake</title>
                <link>https://jira.opendaylight.org/browse/OPNFLWPLUG-1012</link>
                <project id="10155" key="OPNFLWPLUG">OpenFlowPlugin</project>
                    <description>&lt;p&gt;The following CVE was raised against the OpenFlow Plugin, but we were informed after it went public, so creating this as an open Jira ticket with no security context label to keep it private:&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.openwall.com/lists/oss-security/2018/05/09/4&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://www.openwall.com/lists/oss-security/2018/05/09/4&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&#160;We have identified issues with a popular Software-Defined Networking protocol, OpenFlow. Below are the details of the vulnerabilities. OpenFlow controller implementations should strongly consider addressing these issues, and OpenFlow adopters should be aware of such security risks.&lt;/p&gt;

&lt;p&gt;CVE-2018-1000155: Denial of Service, Improper Authentication and Authorization, and Covert Channel in the OpenFlow handshake Severity:&lt;/p&gt;

&lt;p&gt;Important Vendor: Open Networking Foundation (ONF), OpenFlow controllers&lt;/p&gt;

&lt;p&gt;Versions Affected: OpenFlow specification 1.0 onwards&lt;/p&gt;

&lt;p&gt;Description: The OpenFlow handshake does not require the controller to authenticate switches during the OpenFlow handshake. Furthermore, the controller is not required to authorize switches access to the controller. The absence of authentication and authorization in the OpenFlow handshake allows one or more malicious switches connected to an OpenFlow controller to cause Denial of Service attacks in certain OpenFlow controllers by spoofing OpenFlow switch identifiers known as DataPath Identifiers (DPIDs). Additionally, the lack of authentication and authorization in the OpenFlow handshake can be exploited by malicious switches for covert communications, bypassing data plane (and potentially control plane) security mechanisms. In particular, the OpenFlow &quot;Features Reply&quot; message sent by the switch is inherently trusted by the controller. Note that for the attacker to launch an attack, the OpenFlow switch must first establish a (secure) transport connection with the OpenFlow controller (e.g., TLS and TCP), and the switch must be controlled by the attacker.&lt;/p&gt;

&lt;p&gt;Mitigation: The attack can be deterred if OpenFlow connections are secured via the following hardened authentication scheme: Unique TLS certificates for switches, white-list of switch DPIDs at controllers which also includes the switches&#8217; respective public-key certificate identifier, and lastly a controller mechanism that verifies the DPID announced in the OpenFlow handshake is over the TLS connection with the associated (DPID) certificate.&lt;/p&gt;

&lt;p&gt;&#160;A patch was developed and released by onos: &lt;a href=&quot;https://github.com/opennetworkinglab/onos/commit/f69e3e34092139600404681798cebeefebcfa6c6&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/opennetworkinglab/onos/commit/f69e3e34092139600404681798cebeefebcfa6c6&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Credit: Kashyap Thimmaraju (Technische Universit&#228;t Berlin), Robert Kr&#246;sche (Technische Universit&#228;t Berlin), Liron Schiff (GuardiCore Labs) and Stefan Schmid (University of Vienna)&lt;/p&gt;</description>
                <environment></environment>
        <key id="30005">OPNFLWPLUG-1012</key>
            <summary>Denial of Service, Improper Authentication and, Authorization, and Covert Channel in the OpenFlow 1.0+ handshake</summary>
                <type id="10104" iconUrl="https://jira.opendaylight.org/secure/viewavatar?size=xsmall&amp;avatarId=10303&amp;avatarType=issuetype">Bug</type>
                                            <priority id="2" iconUrl="https://jira.opendaylight.org/images/icons/priorities/critical.svg">High</priority>
                        <status id="5" iconUrl="https://jira.opendaylight.org/images/icons/statuses/resolved.png" description="A resolution has been taken, and it is awaiting verification by reporter. From here issues are either reopened, or are closed.">Resolved</status>
                    <statusCategory id="3" key="done" colorName="green"/>
                                    <resolution id="10000">Done</resolution>
                                        <assignee username="Avishnoi">Anil Vishnoi</assignee>
                                    <reporter username="lukehinds">Luke Hinds</reporter>
                        <labels>
                    </labels>
                <created>Tue, 22 May 2018 09:15:01 +0000</created>
                <updated>Mon, 11 Jun 2018 16:02:59 +0000</updated>
                            <resolved>Mon, 11 Jun 2018 16:02:59 +0000</resolved>
                                                                        <due></due>
                            <votes>0</votes>
                                    <watches>4</watches>
                                                                                                                <comments>
                            <comment id="63035" author="lukehinds" created="Tue, 22 May 2018 09:16:04 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.opendaylight.org/secure/ViewProfile.jspa?name=Avishnoi&quot; class=&quot;user-hover&quot; rel=&quot;Avishnoi&quot;&gt;Avishnoi&lt;/a&gt; please could you verify this as the PTL of OpenFlowPlugin.&lt;/p&gt;</comment>
                            <comment id="63259" author="vishnoianil@gmail.com" created="Sun, 3 Jun 2018 21:21:50 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.opendaylight.org/secure/ViewProfile.jspa?name=lukehinds&quot; class=&quot;user-hover&quot; rel=&quot;lukehinds&quot;&gt;lukehinds&lt;/a&gt; I believe OpenFlow plugin already supports the TLS connections between controller and switches. More details&#160;can be found on the following opendaylight documentation.&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://docs.opendaylight.org/en/stable-oxygen/user-guide/authentication-and-authorization-services.html?highlight=management#id4&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://docs.opendaylight.org/en/stable-oxygen/user-guide/authentication-and-authorization-services.html?highlight=management#id4&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://wiki.opendaylight.org/view/OpenDaylight_OpenFlow_Plugin:_TLS_Support&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://wiki.opendaylight.org/view/OpenDaylight_OpenFlow_Plugin:_TLS_Support&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://jira.opendaylight.org/secure/ViewProfile.jspa?name=ecelgp&quot; class=&quot;user-hover&quot; rel=&quot;ecelgp&quot;&gt;ecelgp&lt;/a&gt; You recently&#160;tested the&#160;secure connection (TLS) functionality&#160;supported by openflowplugin, do you have any more details to&#160; add to this ticket that user can leverage to setup their environment securely to avoid this attack ?&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;</comment>
                            <comment id="63260" author="ecelgp" created="Sun, 3 Jun 2018 22:36:27 +0000"  >&lt;p&gt;We support TLS authentication for dataplane switches from long time back. These settings are not enabled by default but we understand whoever wants to deploy the OF plugin in production will do that.&lt;/p&gt;

&lt;p&gt;Also I see a contradiction in the security note:&lt;/p&gt;

&lt;p&gt;1) &quot;Note that for the attacker to launch an attack, the OpenFlow switch must first establish a (secure) transport connection with the OpenFlow controller&quot;&lt;/p&gt;

&lt;p&gt;This is also my understanding, no OF negotiation will happen until TLS session is established, so TLS (if supported) effectively protects the OF session.&lt;/p&gt;

&lt;p&gt;2) In the Mitigation section they suggest a hardening schema including &quot;white-list of switch DPIDs&quot;, this for me is an extra layer of security but if TLS is correctly configured with all required switches public certificates I do not see a need for this, unless I am missing something here.&lt;/p&gt;</comment>
                            <comment id="63262" author="lukehinds" created="Mon, 4 Jun 2018 09:47:34 +0000"  >&lt;p&gt;Makes sense to me, and this really comes down to standard security measures.&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;

&lt;p&gt;&amp;gt; These settings are not enabled by default but we understand whoever wants to deploy the OF plugin in production will do that.&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;

&lt;p&gt;Maybe what we could do is add a recommendation that operators deploy with TLS in production and then point to the TLS_Support wiki page on how to set up. Now I know this is likely obvious to us and most users, but at least this way we have it clearly outlined and its easier to find for anyone using &lt;span class=&quot;error&quot;&gt;&amp;#91;1&amp;#93;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span class=&quot;error&quot;&gt;&amp;#91;1&amp;#93;&lt;/span&gt; &lt;a href=&quot;https://docs.opendaylight.org/en/stable-oxygen/user-guide/openflow-plugin-project-user-guide.html&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://docs.opendaylight.org/en/stable-oxygen/user-guide/openflow-plugin-project-user-guide.html&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;&#160;&lt;/p&gt;

&lt;p&gt;With that I would be happy to close this as won&apos;t fix. &lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;

&lt;p&gt;Sounds good?&lt;/p&gt;</comment>
                            <comment id="63282" author="vishnoianil@gmail.com" created="Mon, 4 Jun 2018 16:15:58 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.opendaylight.org/secure/ViewProfile.jspa?name=lukehinds&quot; class=&quot;user-hover&quot; rel=&quot;lukehinds&quot;&gt;lukehinds&lt;/a&gt; Make sense to me.&lt;/p&gt;</comment>
                            <comment id="63338" author="lukehinds" created="Thu, 7 Jun 2018 08:45:55 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.opendaylight.org/secure/ViewProfile.jspa?name=Avishnoi&quot; class=&quot;user-hover&quot; rel=&quot;Avishnoi&quot;&gt;Avishnoi&lt;/a&gt; &lt;a href=&quot;https://git.opendaylight.org/gerrit/72745&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/72745&lt;/a&gt;&lt;/p&gt;</comment>
                    </comments>
                    <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                            <customfield id="customfield_11400" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_10000" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0|i03esn:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                </customfields>
    </item>
</channel>
</rss>