{"items":[{"id":"NVI-00003394","kind":"vulnerability","title":"Composer: URL-embedded HTTP-Basic username leaks to verbose logs (GitHub PAT exposure)","revision":4,"unknowns":["Customer inventory, deployment, reachability and exploitation have not been inspected.","NVD lastModified does not establish freshness of every associated CPE record."],"lifecycle":"active","identifiers":["GHSA-g6xq-892h-64w3","CVE-2026-59947"],"plain_summary":"GitHub lists this reviewed advisory for composer/composer, composer/composer. Published version ranges and source prerequisites are shown below; this is not an inspection of a visitor’s application.","review_status":"source_listed","control_topics":[],"public_actions":[{"summary":"Identify the exact component and deployed version, examine the linked publisher’s conditions, and retain evidence of any mitigation.","source_ids":["sr-60cdcb6bcfba40f0590226a458b634a2"],"action_type":"investigate","limitations":"Confirm current vendor support, compatibility and deployment evidence. This report has not tested a fix in your system.","current_supported_target":null},{"summary":"The original advisory lists fixed boundaries 2.10.2 for composer/composer. Confirm the publisher’s latest guidance.","source_ids":["sr-3cd15ef1580502525a21ea3cd0d1fa19"],"action_type":"vendor_patch","limitations":"Confirm current vendor support, compatibility and deployment evidence. This report has not tested a fix in your system.","current_supported_target":null},{"summary":"The original advisory lists fixed boundaries 2.2.29 for composer/composer. Confirm the publisher’s latest guidance.","source_ids":["sr-3cd15ef1580502525a21ea3cd0d1fa19"],"action_type":"vendor_patch","limitations":"Confirm current vendor support, compatibility and deployment evidence. This report has not tested a fix in your system.","current_supported_target":null}],"schema_version":"1.1.0","source_metrics":[{"kind":"CVSS","as_of":"2026-07-20T21:55:07.000Z","value":"4.7 medium","meaning":"GitHub source severity; exploitability and local consequence require separate evidence.","source_id":"sr-038a94c1d0d79994e3f27349bf8c63f4"},{"kind":"CVSS","as_of":"2026-07-10T19:10:59.333Z","value":"4.7 MEDIUM (3.1)","meaning":"security-advisories@github.com severity; no combined Null risk score.","source_id":"sr-363ad18621482ae1d83a4c3cbf69952c"},{"kind":"EPSS","as_of":"2026-10-31T12:00:27.000Z","value":"0.120%","meaning":"FIRST EPSS model v2026.06.15; exploitation probability over 30 days, percentile 0.01809. Missing scores are unknown.","source_id":"sr-60cdcb6bcfba40f0590226a458b634a2"}],"why_it_matters":"Published affected context helps an owner decide what evidence to gather. This report has not examined your application.","related_sources":[{"id":"sr-038a94c1d0d79994e3f27349bf8c63f4","url":"https://github.com/advisories/GHSA-g6xq-892h-64w3","basis":"vendor_advisory","notes":"GitHub Advisory Database; CC-BY-4.0. Each advisory links its original attribution. Null normalizes fields.","title":"GHSA-g6xq-892h-64w3","publisher":"GitHub Advisory Database","observed_at":"2026-11-03T22:35:18.117Z"},{"id":"sr-3cd15ef1580502525a21ea3cd0d1fa19","url":"https://github.com/advisories/GHSA-g6xq-892h-64w3","basis":"vendor_advisory","notes":"GitHub-origin advisory, CC-BY-4.0; OSV is an aggregate copy, not independent corroboration.","title":"GHSA-g6xq-892h-64w3","publisher":"GitHub Advisory Database via OSV","observed_at":"2026-10-31T21:42:20.412Z"},{"id":"sr-363ad18621482ae1d83a4c3cbf69952c","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-59947","basis":"official_catalog","notes":"This product uses data from the NVD API but is not endorsed or certified by the NVD.","title":"CVE-2026-59947","publisher":"NIST National Vulnerability Database","observed_at":"2026-11-01T07:24:49.802Z"},{"id":"sr-60cdcb6bcfba40f0590226a458b634a2","url":"https://www.first.org/epss/data.html","basis":"official_catalog","notes":"FIRST EPSS; probability of exploitation in the next 30 days, not local compromise. Dataset date/model retained; FIRST services terms apply.","title":"CVE-2026-59947","publisher":"FIRST EPSS","observed_at":"2026-10-31T22:06:15.383Z"}],"affected_context":[{"certainty":"source_listed","source_ids":["sr-038a94c1d0d79994e3f27349bf8c63f4"],"technology":"composer/composer","known_exclusions":[],"conditions_summary":"## Summary\n\nWhen Composer is run with -vvv (debug verbosity), it could print a credential that was embedded directly in a repository or package URL, but not as a password, to its debug output. Composer already masked the password portion of such URLs, but the username portion was shown in clear text. Because GitHub and several other services support placing an access token in the username position of a URL (for example https://[token]@github.com/owner/repo), a token used that way could end up written to the verbose log in full.\n\nThis is an information disclosure issue. The credential is only ever exposed to whoever can already read Composer's debug output.\n\n## Am I affected?\n\nYou are potentially affected only if **all** of the following apply:\n\n- A credential is embedded inside a URL that Composer handles, e.g. in a `repositories` entry in composer.json, in a package dist/source URL - rather than being supplied through auth.json or the COMPOSER_AUTH environment variable.\n- The secret sits in the username slot of that URL (e.g. `https://TOKEN@host/…`). A normal `username:password@host` pair where the username is an ordinary account name did not expose the password, that was already ","public_affected_ranges":[">= 2.3.0, < 2.10.2"]},{"certainty":"source_listed","source_ids":["sr-038a94c1d0d79994e3f27349bf8c63f4"],"technology":"composer/composer","known_exclusions":[],"conditions_summary":"## Summary\n\nWhen Composer is run with -vvv (debug verbosity), it could print a credential that was embedded directly in a repository or package URL, but not as a password, to its debug output. Composer already masked the password portion of such URLs, but the username portion was shown in clear text. Because GitHub and several other services support placing an access token in the username position of a URL (for example https://[token]@github.com/owner/repo), a token used that way could end up written to the verbose log in full.\n\nThis is an information disclosure issue. The credential is only ever exposed to whoever can already read Composer's debug output.\n\n## Am I affected?\n\nYou are potentially affected only if **all** of the following apply:\n\n- A credential is embedded inside a URL that Composer handles, e.g. in a `repositories` entry in composer.json, in a package dist/source URL - rather than being supplied through auth.json or the COMPOSER_AUTH environment variable.\n- The secret sits in the username slot of that URL (e.g. `https://TOKEN@host/…`). A normal `username:password@host` pair where the username is an ordinary account name did not expose the password, that was already ","public_affected_ranges":[">= 1.0.0, < 2.2.29"]},{"certainty":"source_listed","source_ids":["sr-3cd15ef1580502525a21ea3cd0d1fa19"],"technology":"composer/composer","known_exclusions":[],"conditions_summary":"## Summary\n\nWhen Composer is run with -vvv (debug verbosity), it could print a credential that was embedded directly in a repository or package URL, but not as a password, to its debug output. Composer already masked the password portion of such URLs, but the username portion was shown in clear text. Because GitHub and several other services support placing an access token in the username position of a URL (for example https://[token]@github.com/owner/repo), a token used that way could end up written to the verbose log in full.\n\nThis is an information disclosure issue. The credential is only ever exposed to whoever can already read Composer's debug output.\n\n## Am I affected?\n\nYou are potentially affected only if **all** of the following apply:\n\n- A credential is embedded inside a URL that Composer handles, e.g. in a `repositories` entry in composer.json, in a package dist/source URL - rather than being supplied through auth.json or the COMPOSER_AUTH environment variable.\n- The secret sits in the username slot of that URL (e.g. `https://TOKEN@host/…`). A normal `username:password@host` pair where the username is an ordinary account name did not expose the password, that was already ","public_affected_ranges":["ECOSYSTEM: introduced 2.3.0; fixed 2.10.2"]},{"certainty":"source_listed","source_ids":["sr-3cd15ef1580502525a21ea3cd0d1fa19"],"technology":"composer/composer","known_exclusions":[],"conditions_summary":"## Summary\n\nWhen Composer is run with -vvv (debug verbosity), it could print a credential that was embedded directly in a repository or package URL, but not as a password, to its debug output. Composer already masked the password portion of such URLs, but the username portion was shown in clear text. Because GitHub and several other services support placing an access token in the username position of a URL (for example https://[token]@github.com/owner/repo), a token used that way could end up written to the verbose log in full.\n\nThis is an information disclosure issue. The credential is only ever exposed to whoever can already read Composer's debug output.\n\n## Am I affected?\n\nYou are potentially affected only if **all** of the following apply:\n\n- A credential is embedded inside a URL that Composer handles, e.g. in a `repositories` entry in composer.json, in a package dist/source URL - rather than being supplied through auth.json or the COMPOSER_AUTH environment variable.\n- The secret sits in the username slot of that URL (e.g. `https://TOKEN@host/…`). A normal `username:password@host` pair where the username is an ordinary account name did not expose the password, that was already ","public_affected_ranges":["ECOSYSTEM: introduced 1.0.0; fixed 2.2.29"]}],"null_published_at":"2026-11-04T10:04:27.863Z","source_updated_at":"2026-07-20T21:55:07.000Z","source_disclosed_at":"2026-07-20T21:55:05.000Z","is_synthetic_fixture":false,"null_last_reviewed_at":null,"public_change_summary":"Source facts changed; compare the preserved prior revision.","null_first_observed_at":"2026-10-31T21:42:20.412Z"},{"id":"NVI-00003394","kind":"vulnerability","title":"Composer: URL-embedded HTTP-Basic username leaks to verbose logs (GitHub PAT exposure)","revision":3,"unknowns":["Customer inventory, deployment, reachability and exploitation have not been inspected.","NVD lastModified does not establish freshness of every associated CPE record."],"lifecycle":"active","identifiers":["GHSA-g6xq-892h-64w3","CVE-2026-59947"],"plain_summary":"OSV carries this publisher advisory for composer/composer, composer/composer. This is an aggregated source copy; consult the original publisher and compare update dates.","review_status":"source_listed","control_topics":[],"public_actions":[{"summary":"The original advisory lists fixed boundaries 2.10.2 for composer/composer. Confirm the publisher’s latest guidance.","source_ids":["sr-3cd15ef1580502525a21ea3cd0d1fa19"],"action_type":"vendor_patch","limitations":"Confirm current vendor support, compatibility and deployment evidence. This report has not tested a fix in your system.","current_supported_target":null},{"summary":"The original advisory lists fixed boundaries 2.2.29 for composer/composer. Confirm the publisher’s latest guidance.","source_ids":["sr-3cd15ef1580502525a21ea3cd0d1fa19"],"action_type":"vendor_patch","limitations":"Confirm current vendor support, compatibility and deployment evidence. This report has not tested a fix in your system.","current_supported_target":null},{"summary":"Identify the exact component and deployed version, examine the linked publisher’s conditions, and retain evidence of any mitigation.","source_ids":["sr-60cdcb6bcfba40f0590226a458b634a2"],"action_type":"investigate","limitations":"Confirm current vendor support, compatibility and deployment evidence. This report has not tested a fix in your system.","current_supported_target":null}],"schema_version":"1.1.0","source_metrics":[{"kind":"CVSS","as_of":"2026-07-10T19:10:59.333Z","value":"4.7 MEDIUM (3.1)","meaning":"security-advisories@github.com severity; no combined Null risk score.","source_id":"sr-363ad18621482ae1d83a4c3cbf69952c"},{"kind":"EPSS","as_of":"2026-10-31T12:00:27.000Z","value":"0.120%","meaning":"FIRST EPSS model v2026.06.15; exploitation probability over 30 days, percentile 0.01809. Missing scores are unknown.","source_id":"sr-60cdcb6bcfba40f0590226a458b634a2"}],"why_it_matters":"Published affected context helps an owner decide what evidence to gather. This report has not examined your application.","related_sources":[{"id":"sr-3cd15ef1580502525a21ea3cd0d1fa19","url":"https://github.com/advisories/GHSA-g6xq-892h-64w3","basis":"vendor_advisory","notes":"GitHub-origin advisory, CC-BY-4.0; OSV is an aggregate copy, not independent corroboration.","title":"GHSA-g6xq-892h-64w3","publisher":"GitHub Advisory Database via OSV","observed_at":"2026-10-31T21:42:20.412Z"},{"id":"sr-363ad18621482ae1d83a4c3cbf69952c","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-59947","basis":"official_catalog","notes":"This product uses data from the NVD API but is not endorsed or certified by the NVD.","title":"CVE-2026-59947","publisher":"NIST National Vulnerability Database","observed_at":"2026-11-01T07:24:49.802Z"},{"id":"sr-60cdcb6bcfba40f0590226a458b634a2","url":"https://www.first.org/epss/data.html","basis":"official_catalog","notes":"FIRST EPSS; probability of exploitation in the next 30 days, not local compromise. Dataset date/model retained; FIRST services terms apply.","title":"CVE-2026-59947","publisher":"FIRST EPSS","observed_at":"2026-10-31T22:06:15.383Z"}],"affected_context":[{"certainty":"source_listed","source_ids":["sr-3cd15ef1580502525a21ea3cd0d1fa19"],"technology":"composer/composer","known_exclusions":[],"conditions_summary":"## Summary\n\nWhen Composer is run with -vvv (debug verbosity), it could print a credential that was embedded directly in a repository or package URL, but not as a password, to its debug output. Composer already masked the password portion of such URLs, but the username portion was shown in clear text. Because GitHub and several other services support placing an access token in the username position of a URL (for example https://[token]@github.com/owner/repo), a token used that way could end up written to the verbose log in full.\n\nThis is an information disclosure issue. The credential is only ever exposed to whoever can already read Composer's debug output.\n\n## Am I affected?\n\nYou are potentially affected only if **all** of the following apply:\n\n- A credential is embedded inside a URL that Composer handles, e.g. in a `repositories` entry in composer.json, in a package dist/source URL - rather than being supplied through auth.json or the COMPOSER_AUTH environment variable.\n- The secret sits in the username slot of that URL (e.g. `https://TOKEN@host/…`). A normal `username:password@host` pair where the username is an ordinary account name did not expose the password, that was already ","public_affected_ranges":["ECOSYSTEM: introduced 2.3.0; fixed 2.10.2"]},{"certainty":"source_listed","source_ids":["sr-3cd15ef1580502525a21ea3cd0d1fa19"],"technology":"composer/composer","known_exclusions":[],"conditions_summary":"## Summary\n\nWhen Composer is run with -vvv (debug verbosity), it could print a credential that was embedded directly in a repository or package URL, but not as a password, to its debug output. Composer already masked the password portion of such URLs, but the username portion was shown in clear text. Because GitHub and several other services support placing an access token in the username position of a URL (for example https://[token]@github.com/owner/repo), a token used that way could end up written to the verbose log in full.\n\nThis is an information disclosure issue. The credential is only ever exposed to whoever can already read Composer's debug output.\n\n## Am I affected?\n\nYou are potentially affected only if **all** of the following apply:\n\n- A credential is embedded inside a URL that Composer handles, e.g. in a `repositories` entry in composer.json, in a package dist/source URL - rather than being supplied through auth.json or the COMPOSER_AUTH environment variable.\n- The secret sits in the username slot of that URL (e.g. `https://TOKEN@host/…`). A normal `username:password@host` pair where the username is an ordinary account name did not expose the password, that was already ","public_affected_ranges":["ECOSYSTEM: introduced 1.0.0; fixed 2.2.29"]}],"null_published_at":"2026-11-01T14:34:07.623Z","source_updated_at":"2026-07-20T22:00:25.387Z","source_disclosed_at":"2026-07-20T21:55:05.000Z","is_synthetic_fixture":false,"null_last_reviewed_at":null,"public_change_summary":"Source facts changed; compare the preserved prior revision.","null_first_observed_at":"2026-10-31T21:42:20.412Z"},{"id":"NVI-00003394","kind":"vulnerability","title":"Composer: URL-embedded HTTP-Basic username leaks to verbose logs (GitHub PAT exposure)","revision":2,"unknowns":["Customer inventory, deployment, reachability and exploitation have not been inspected."],"lifecycle":"active","identifiers":["GHSA-g6xq-892h-64w3","CVE-2026-59947"],"plain_summary":"OSV carries this publisher advisory for composer/composer, composer/composer. This is an aggregated source copy; consult the original publisher and compare update dates.","review_status":"source_listed","control_topics":[],"public_actions":[{"summary":"The original advisory lists fixed boundaries 2.10.2 for composer/composer. Confirm the publisher’s latest guidance.","source_ids":["sr-3cd15ef1580502525a21ea3cd0d1fa19"],"action_type":"vendor_patch","limitations":"Confirm current vendor support, compatibility and deployment evidence. This report has not tested a fix in your system.","current_supported_target":null},{"summary":"The original advisory lists fixed boundaries 2.2.29 for composer/composer. Confirm the publisher’s latest guidance.","source_ids":["sr-3cd15ef1580502525a21ea3cd0d1fa19"],"action_type":"vendor_patch","limitations":"Confirm current vendor support, compatibility and deployment evidence. This report has not tested a fix in your system.","current_supported_target":null},{"summary":"Identify the exact component and deployed version, examine the linked publisher’s conditions, and retain evidence of any mitigation.","source_ids":["sr-60cdcb6bcfba40f0590226a458b634a2"],"action_type":"investigate","limitations":"Confirm current vendor support, compatibility and deployment evidence. This report has not tested a fix in your system.","current_supported_target":null}],"schema_version":"1.1.0","source_metrics":[{"kind":"EPSS","as_of":"2026-10-31T12:00:27.000Z","value":"0.120%","meaning":"FIRST EPSS model v2026.06.15; exploitation probability over 30 days, percentile 0.01809. Missing scores are unknown.","source_id":"sr-60cdcb6bcfba40f0590226a458b634a2"}],"why_it_matters":"Published affected context helps an owner decide what evidence to gather. This report has not examined your application.","related_sources":[{"id":"sr-3cd15ef1580502525a21ea3cd0d1fa19","url":"https://github.com/advisories/GHSA-g6xq-892h-64w3","basis":"vendor_advisory","notes":"GitHub-origin advisory, CC-BY-4.0; OSV is an aggregate copy, not independent corroboration.","title":"GHSA-g6xq-892h-64w3","publisher":"GitHub Advisory Database via OSV","observed_at":"2026-10-31T21:42:20.412Z"},{"id":"sr-60cdcb6bcfba40f0590226a458b634a2","url":"https://www.first.org/epss/data.html","basis":"official_catalog","notes":"FIRST EPSS; probability of exploitation in the next 30 days, not local compromise. Dataset date/model retained; FIRST services terms apply.","title":"CVE-2026-59947","publisher":"FIRST EPSS","observed_at":"2026-10-31T22:06:15.383Z"}],"affected_context":[{"certainty":"source_listed","source_ids":["sr-3cd15ef1580502525a21ea3cd0d1fa19"],"technology":"composer/composer","known_exclusions":[],"conditions_summary":"## Summary\n\nWhen Composer is run with -vvv (debug verbosity), it could print a credential that was embedded directly in a repository or package URL, but not as a password, to its debug output. Composer already masked the password portion of such URLs, but the username portion was shown in clear text. Because GitHub and several other services support placing an access token in the username position of a URL (for example https://[token]@github.com/owner/repo), a token used that way could end up written to the verbose log in full.\n\nThis is an information disclosure issue. The credential is only ever exposed to whoever can already read Composer's debug output.\n\n## Am I affected?\n\nYou are potentially affected only if **all** of the following apply:\n\n- A credential is embedded inside a URL that Composer handles, e.g. in a `repositories` entry in composer.json, in a package dist/source URL - rather than being supplied through auth.json or the COMPOSER_AUTH environment variable.\n- The secret sits in the username slot of that URL (e.g. `https://TOKEN@host/…`). A normal `username:password@host` pair where the username is an ordinary account name did not expose the password, that was already ","public_affected_ranges":["ECOSYSTEM: introduced 2.3.0; fixed 2.10.2"]},{"certainty":"source_listed","source_ids":["sr-3cd15ef1580502525a21ea3cd0d1fa19"],"technology":"composer/composer","known_exclusions":[],"conditions_summary":"## Summary\n\nWhen Composer is run with -vvv (debug verbosity), it could print a credential that was embedded directly in a repository or package URL, but not as a password, to its debug output. Composer already masked the password portion of such URLs, but the username portion was shown in clear text. Because GitHub and several other services support placing an access token in the username position of a URL (for example https://[token]@github.com/owner/repo), a token used that way could end up written to the verbose log in full.\n\nThis is an information disclosure issue. The credential is only ever exposed to whoever can already read Composer's debug output.\n\n## Am I affected?\n\nYou are potentially affected only if **all** of the following apply:\n\n- A credential is embedded inside a URL that Composer handles, e.g. in a `repositories` entry in composer.json, in a package dist/source URL - rather than being supplied through auth.json or the COMPOSER_AUTH environment variable.\n- The secret sits in the username slot of that URL (e.g. `https://TOKEN@host/…`). A normal `username:password@host` pair where the username is an ordinary account name did not expose the password, that was already ","public_affected_ranges":["ECOSYSTEM: introduced 1.0.0; fixed 2.2.29"]}],"null_published_at":"2026-11-01T01:45:38.534Z","source_updated_at":"2026-07-20T22:00:25.387Z","source_disclosed_at":"2026-07-20T21:55:05.000Z","is_synthetic_fixture":false,"null_last_reviewed_at":null,"public_change_summary":"Dated EPSS estimate updated; this is not a new disclosure or proof of exploitation.","null_first_observed_at":"2026-10-31T21:42:20.412Z"},{"id":"NVI-00003394","kind":"vulnerability","title":"Composer: URL-embedded HTTP-Basic username leaks to verbose logs (GitHub PAT exposure)","revision":1,"unknowns":["Customer inventory, deployment, reachability and exploitation have not been inspected."],"lifecycle":"active","identifiers":["GHSA-g6xq-892h-64w3","CVE-2026-59947"],"plain_summary":"OSV carries this publisher advisory for composer/composer, composer/composer. This is an aggregated source copy; consult the original publisher and compare update dates.","review_status":"source_listed","control_topics":[],"public_actions":[{"summary":"The original advisory lists fixed boundaries 2.10.2 for composer/composer. Confirm the publisher’s latest guidance.","source_ids":["sr-3cd15ef1580502525a21ea3cd0d1fa19"],"action_type":"vendor_patch","limitations":"Confirm current vendor support, compatibility and deployment evidence. This report has not tested a fix in your system.","current_supported_target":null},{"summary":"The original advisory lists fixed boundaries 2.2.29 for composer/composer. Confirm the publisher’s latest guidance.","source_ids":["sr-3cd15ef1580502525a21ea3cd0d1fa19"],"action_type":"vendor_patch","limitations":"Confirm current vendor support, compatibility and deployment evidence. This report has not tested a fix in your system.","current_supported_target":null}],"schema_version":"1.1.0","source_metrics":[],"why_it_matters":"Published affected context helps an owner decide what evidence to gather. This report has not examined your application.","related_sources":[{"id":"sr-3cd15ef1580502525a21ea3cd0d1fa19","url":"https://github.com/advisories/GHSA-g6xq-892h-64w3","basis":"vendor_advisory","notes":"GitHub-origin advisory, CC-BY-4.0; OSV is an aggregate copy, not independent corroboration.","title":"GHSA-g6xq-892h-64w3","publisher":"GitHub Advisory Database via OSV","observed_at":"2026-10-31T21:42:20.412Z"}],"affected_context":[{"certainty":"source_listed","source_ids":["sr-3cd15ef1580502525a21ea3cd0d1fa19"],"technology":"composer/composer","known_exclusions":[],"conditions_summary":"## Summary\n\nWhen Composer is run with -vvv (debug verbosity), it could print a credential that was embedded directly in a repository or package URL, but not as a password, to its debug output. Composer already masked the password portion of such URLs, but the username portion was shown in clear text. Because GitHub and several other services support placing an access token in the username position of a URL (for example https://[token]@github.com/owner/repo), a token used that way could end up written to the verbose log in full.\n\nThis is an information disclosure issue. The credential is only ever exposed to whoever can already read Composer's debug output.\n\n## Am I affected?\n\nYou are potentially affected only if **all** of the following apply:\n\n- A credential is embedded inside a URL that Composer handles, e.g. in a `repositories` entry in composer.json, in a package dist/source URL - rather than being supplied through auth.json or the COMPOSER_AUTH environment variable.\n- The secret sits in the username slot of that URL (e.g. `https://TOKEN@host/…`). A normal `username:password@host` pair where the username is an ordinary account name did not expose the password, that was already ","public_affected_ranges":["ECOSYSTEM: introduced 2.3.0; fixed 2.10.2"]},{"certainty":"source_listed","source_ids":["sr-3cd15ef1580502525a21ea3cd0d1fa19"],"technology":"composer/composer","known_exclusions":[],"conditions_summary":"## Summary\n\nWhen Composer is run with -vvv (debug verbosity), it could print a credential that was embedded directly in a repository or package URL, but not as a password, to its debug output. Composer already masked the password portion of such URLs, but the username portion was shown in clear text. Because GitHub and several other services support placing an access token in the username position of a URL (for example https://[token]@github.com/owner/repo), a token used that way could end up written to the verbose log in full.\n\nThis is an information disclosure issue. The credential is only ever exposed to whoever can already read Composer's debug output.\n\n## Am I affected?\n\nYou are potentially affected only if **all** of the following apply:\n\n- A credential is embedded inside a URL that Composer handles, e.g. in a `repositories` entry in composer.json, in a package dist/source URL - rather than being supplied through auth.json or the COMPOSER_AUTH environment variable.\n- The secret sits in the username slot of that URL (e.g. `https://TOKEN@host/…`). A normal `username:password@host` pair where the username is an ordinary account name did not expose the password, that was already ","public_affected_ranges":["ECOSYSTEM: introduced 1.0.0; fixed 2.2.29"]}],"null_published_at":"2026-10-31T22:12:48.015Z","source_updated_at":"2026-07-20T22:00:25.387Z","source_disclosed_at":"2026-07-20T21:55:05.000Z","is_synthetic_fixture":false,"null_last_reviewed_at":null,"public_change_summary":"First indexed by Null; source disclosure date is shown separately.","null_first_observed_at":"2026-10-31T21:42:20.412Z"}],"next_cursor":null,"snapshot_revision":"42594"}