Skip to content
  • Daiki Ueno's avatar
    ssh-agent: Make public key parsing robuster · 65e20169
    Daiki Ueno authored
    Previously, _gkd_ssh_agent_parse_public_key() accepted OpenSSH v1
    keys, because the second component of the key line looks like a valid
    base64 blob:
    
      2048 65537 2444136...
    
    This patch checks that the component is really base64 encoded, by
    checking the length is a multiple of 4.
    
    Note that this solution is not perfect, as there could be a key with a
    public exponent whose decimal length is multiple of 4.  More thorough
    approach would be to call ssh-keygen -l on each public key.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=795699
    65e20169