aliasrobotics / RVD

Robot Vulnerability Database. An archive of robot vulnerabilities and bugs.
https://aliasrobotics.com
GNU General Public License v3.0
173 stars 31 forks source link

RVD#1444: RTDE Interface allows unauthenticated reading of robot data and unauthenticated writing of registers and outputs #1444

Open bbreilin opened 4 years ago

bbreilin commented 4 years ago
id:  1444,
title: "RVD#1444: RTDE Interface allows unauthenticated reading of robot data and unauthenticated writing of registers and outputs"
type: vulnerability
description: "CB3 SW Version 3.3 and upwards, e-series SW Version 5.0 and upwards allow authenticated access to the RTDE (Real-Time Data Exchange) interface on port 30004 which allows setting registers, the speed slider fraction as well as digital and analog Outputs. Additionally unautheticated reading of robot data is also possible"
cwe: "CWE-200 (Exposure of Sensitive Information to an Unauthorized Actor)"
cve: "CVE-2020-10264"
keywords: [
    "Universal Robots",
    "RTDE",
    "cobot",
    "CB 3.1",
    "e-series"
]
system: "Universal Robots Robot Controllers CB 3.1 SW Version 3.3 and upwards, e-series SW version 5.0 and upwards"
vendor: "Universal Robots"
severity:
  rvss-score: 10.0
  rvss-vector: "RVSS:1.0/AV:RN/AC:L/PR:N/UI:N/Y:Z/S:U/C:H/I:H/A:H/H:H"
  severity-description: "critical"
  cvss-score: 9.8
  cvss-vector: "CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H"
links: [
'https://www.universal-robots.com/how-tos-and-faqs/how-to/ur-how-tos/real-time-data-exchange-rtde-guide/'
]
flaw:
  phase: testing
  specificity: subject-specific
  architectural-location: application-specific code
  application: manipulator, control box
  subsystem: cognition:manipulation
  package: N/A
  languages: N/A
  date-detected:
  detected-by: Bernhard Dieber, Benjamin Breiling (and many others)
  detected-by-method: testing violation
  date-reported: 2020-04-01 (16:00)
  reported-by: Bernhard Dieber, Benjamin Breiling (and many others)
  reported-by-relationship: security researcher
  issue: "https://github.com/aliasrobotics/RVD/issues/1444"
  reproducibility: always
  trace: N/A
  reproduction: Not disclosed
  reproduction-image: Not disclosed
exploitation:
  description: Not disclosed
  exploitation-image: Not disclosed
  exploitation-vector: Not disclosed
mitigation:
  description: Not disclosed
  pull-request: Not disclosed
vmayoral commented 4 years ago

@bbreilin a couple of things here while triaging. I couldn't find any details about CB 3.3 and AFAIK, only the following exists:

Could you maybe be a bit more specific on your version descriptions above (official source)

I'll assume you refer to CB3.1 but let me know otherwise.

vmayoral commented 4 years ago

Receives the following vector with CVSS 3.0 CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H and a severity scoring of 8.8.

vmayoral commented 4 years ago

Asigned preliminarily CVE-2020-10264.

LanderU commented 4 years ago

Our team is working on an alurity.yml file to validate this scenario. Also, a robosploit module will be created.

vmayoral commented 4 years ago

Removed triage label, CVE asignation on its way https://github.com/CVEProject/cvelist/pull/3514. Thanks again @bbreilin and @bedieber for the ticket.

Your CVE ID will be CVE-2020-10264

LanderU commented 4 years ago

Video that shows the process:

https://www.youtube.com/watch?v=R4y6d2PXfgM

vmayoral commented 4 years ago

Minor edition in this ticket to avoid https://pyyaml.org/wiki/YAMLColonInFlowContext.

Essentially, replaced scalar link by a string link.