Saved database passwords collide across SSH connections using identical localhost endpoints

Abierto
#317 1 comentario 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
48/100
Tipo de issue
Error
Claridad
Bien especificado
Estado de actividad
Activo
Stack tecnológico
postgresql, vscode

Línea de trabajo

Start by tracing how connection profiles save and retrieve database passwords through VS Code SecretStorage, especially how the credential key is derived from profile and endpoint properties. Compare two profiles with identical database properties but different SSH destinations, then verify each reconnect retrieves its own password; done means saving either profile no longer overwrites the other's credential.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

Describe the bug

Separate native-SSH connection profiles overwrite each other's saved PostgreSQL
passwords when their database endpoint properties match, despite different
profile IDs and SSH destinations.

Affected extension: ms-ossdata.vscode-pgsql version 1.32.1, running in a
Linux/WSL extension host. The exact VS Code editor version was not captured.

This is distinct from the expected migration of plaintext settings passwords
into VS Code SecretStorage: the migrated credentials collide.

To Reproduce

  1. Configure two native-SSH profiles with these properties:
Property Profile A Profile B
id example-profile-a example-profile-b
server localhost localhost
port 5432 5432
database example_db example_db
user example_user example_user
authenticationType SqlLogin SqlLogin
password dummy-password-a dummy-password-b
savePassword true true
sshEnabled true true
sshHost jump-a.invalid jump-b.invalid
sshPort 22 22
sshUsername example_ssh_user example_ssh_user
sshAuthenticationType publicKey publicKey

Use valid test private-key paths for sshKeyfile. The test databases should
require their respective different dummy passwords.

  1. Allow the extension to save/migrate both database passwords.
  2. Reconnect to both profiles. One can receive the other profile's saved
    password and fail database authentication despite a successful SSH tunnel.

Expected behavior

Profiles targeting different SSH destinations should retrieve their own saved
database passwords. Saving one must not overwrite the credential of another.

VS Code version

Windows 1.144.0

Lenguaje dominante
Sin datos de lenguaje
Estrellas
406
Forks
35
Merge medio
2 h 47 min
PR fusionados (30 d)
5

Preparar el entorno

Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de microsoft/vscode-pgsql

Todos los issues de microsoft/vscode-pgsql

Issues similares

Más issues de Security

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.