Pgsync Contains Cleartext Transmission of Sensitive InformationGHSA-72rj-36qc-47g7
HIGHFix: ankane/pgsync@05cd18fGHSA-72rj-36qc-47g7 is a high-severity (CVSS 7.5) CWE-319 vulnerability in pgsync. 1 public exploit reference exists, so weaponization risk is real. A fix is available for pgsync — see the affected versions and patch details below.
EPSS Exploitation Probability
Probability of exploitation in the next 30 days, from FIRST.org EPSS.
How urgent is this, really
GHSA-72rj-36qc-47g7 by exploitation likelihood (EPSS) against impact (CVSS). Outside the shaded patch-first corner.
Where this sits among everything scored
Of 385,738 CVEs with a current EPSS score, this one falls in the < 10% band (highlighted). Counts from FIRST.org, log-scaled.
Real-World Exposure
pgsyncReal-time download stats are indexed for npm and PyPI packages. This vulnerability affects RubyGems packages — download data is not available via public APIs for these ecosystems.
Description
pgsync before 0.6.7 is affected by Information Disclosure of sensitive information. Syncing the schema with the --schema-first and --schema-only options is mishandled. For example, the sslmode connection parameter may be lost, which means that SSL would not be used.
Affected Packages
| Ecosystem | Package | Vulnerable range | Fix |
|---|---|---|---|
| 💎RubyGems | pgsync | all versions | 0.6.7bundle update pgsync --conservative |
Affected Products
pgsyncpgsync_projectResearch use only. For defensive security, authorized penetration testing, and academic research only. Never execute exploit code against systems without explicit written authorization.
Detection & mitigation playbook
Open-source dependencyDetect
Scan your dependency tree (package-lock.json, pnpm-lock.yaml, requirements.txt, go.sum, etc.) for pgsync, including transitive dependencies — a direct dependency you never call can still pull in a vulnerable version.
Fix
Update pgsync to 0.6.7 or later, then make sure no transitive (indirect) dependency still pins the vulnerable range — O3 confirms GHSA-72rj-36qc-47g7 is resolved across your whole dependency graph.
Workarounds
Assume what was exposed is already known: rotate any credential, token or key that the affected component could return, restrict the endpoint to callers that genuinely need it, and strip sensitive fields from responses and error output at the boundary rather than relying on the client not to read them.
Frequently Asked Questions
Is GHSA-72rj-36qc-47g7 in your dependencies?
Find it across RubyGems, including transitive dependencies.