Skip to content

Vulnerability: Communication between CLI and 3D on an unencrypted connection #223

Description

@FrancoLiberali

When the CLI establishes connection with the 3D it sends a first message containing the API url and the JWT used for authentication, which the CLI obtained when logging in with the username and password. Since this communication is via a tcp socket, it is not encrypted. Therefore, this secret token can be easily read by another process, for example, it can be seen using Wireshark:

image

Furthermore, the CLI does not perform any verification of which process it sends this information to, any process that accepts a connection on the correct port can receive it, for example a malicious process that is looking for this information in order to make API calls on behalf of the user.

To solve this we could:

  1. Transmit this information via a secure (encrypted) channel and where it is actually verified that the information is sent to an Ogree-3d process (complicated)
  2. Have Ogree-3d do its own authentication, avoiding the need to transmit the token

This same problem actually applies to all information that the CLI transmits to the 3D, so a malicious process could retrieve information of the datacenter

Metadata

Metadata

Assignees

No one assigned

    Labels

    BugSomething isn't workingCLI

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions