Open
Description
id: 3316
title: 'RVD#3316: No authentication in MAVLink protocol'
type: vulnerability
description: The Micro Air Vehicle Link (MAVLink) protocol presents no authentication
mechanism on its version 1.0 (nor authorization) whichs leads to a variety of attacks
including identity spoofing, unauthorized access, PITM attacks and more.
According to literature, version 2.0 optionally allows for package signing which
mitigates this flaw. Another source mentions that MAVLink 2.0 only provides a simple
authentication system based on HMAC. This implies that the flying system overall
should add the same symmetric key into all devices of network. If not the case, this may
cause a security issue, that if one of the devices and its symmetric key are compromised,
the whole authentication system is not reliable.
cwe: CWE-306
cve: CVE-2020-10282
keywords:
- MAVLink
- v1.0
- v2.0
- PX4
- Ardupilot
system: "MAVLink: v1.0"
vendor: "PX4"
severity:
rvss-score: 9.6
rvss-vector: RVSS:1.0/AV:AN/AC:L/PR:N/UI:N/S:U/Y:T/C:H/I:H/A:H/H:U
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://arxiv.org/abs/1906.10641
- https://arxiv.org/abs/1905.00265
- https://ieeexplore.ieee.org/document/8425627
- https://www.researchgate.net/publication/335973981_Assessing_and_Exploiting_Security_Vulnerabilities_of_Unmanned_Aerial_Vehicles
- https://link.springer.com/chapter/10.1007/978-981-13-8406-6_66
- https://www.esat.kuleuven.be/cosic/publications/article-2667.pdf
- https://www.usenix.org/conference/usenixsecurity19/presentation/kim
- https://docs.google.com/document/d/1ETle6qQRcaNWAmpG2wz0oOpFKSF_bcTmYMQvtTGI8ns/edit
- https://docs.google.com/document/d/1upZ_KnEgK3Hk1j0DfSHl9AdKFMoSqkAQVeK8LsngvEU/edit
- https://docs.google.com/document/d/1XtbD0ORNkhZ8eKrsbSIZNLyg9sFRXMXbsR2mp37KbIg/edit
- https://github.com/PX4/Firmware/issues/13538#issuecomment-574281772
- https://github.com/rligocki/Diploma_thesis_px4
flaw:
phase: unknown
specificity: subject-specific
architectural-location: platform code
application: Flying vehicles and/or others using MAVLink protocol.
subsystem: communication
package: N/A
languages: C, C++
date-detected:
detected-by:
detected-by-method: testing
date-reported: '2020-06-30'
reported-by: "Victor Mayoral Vilches (Alias Robotics)"
reported-by-relationship: security researcher
issue: https://github.com/aliasrobotics/RVD/issues/3316
reproducibility: always
trace: N/A
reproduction: N/A
reproduction-image: N/A
exploitation:
description: Not available
exploitation-image: Not available
exploitation-vector: Not available
exploitation-recipe: ''
mitigation:
description: MAVLink 2.0 includes signing capabilities which mitigate this issue. Signatures seem to be optional for backwards compatibility and https://arxiv.org/abs/1906.10641 confirms this matter. Proper mitigation should enforce signatures.
pull-request: N/A
date-mitigation: null