Saved database passwords collide across SSH connections using identical localhost endpoints

オープン
#317 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
48/100
issue の種類
バグ
明瞭さ
明確に書かれている
活発さ
活発
技術スタック
postgresql, vscode

調査の方向性

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.

索引モデルが issue の本文から書いたものです。

説明

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

主要言語
言語のデータがありません
スター
406
フォーク
35
平均マージ
2時間 47分
マージ済み PR(30日)
5

環境構築

このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

microsoft/vscode-pgsql のほかの issue

microsoft/vscode-pgsql の issue をすべて見る

似ている issue

Security の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。