GHSA-8prr-f582-jqq3: Medium severity pip/langgraph-cli vulnerability
Summary
langgraph deploy --verbose printed the temporary registry push token that the CLI uses to log Docker in to the deployment's image registry. Anyone who could read that output, for example in CI logs, could use the token until it expired.
Details
When Docker is available, langgraph deploy builds the image locally, requests a push token from LangSmith, and runs docker login --password-stdin with the token on stdin. The CLI's subprocess helper printed each command's stdin when verbose output was on, and the login step inherited --verbose, so the token was printed right after the docker login command line.
langgraph-cli 0.4.15 through 0.4.31 are affected. Starting with 0.4.32, the login step runs without verbose output. Deploys run without --verbose, and deploys that build the image remotely, never printed the token.
Impact
You may be affected if you ran langgraph deploy --verbose with an affected version and the output was kept or shared, for example in CI logs or terminal recordings. The token is short-lived (at most 12 hours) and limited to that deployment's image repository. Someone holding it before it expired could pull the deployment's images and push new images to that repository. Deployments reference their image by digest, so a pushed image does not run unless the deployment is updated to use it, which requires a LangSmith API key with access to the deployment.
Remediation
Upgrade to langgraph-cli 0.4.32 or later. 0.4.37 also stops --verbose from printing the input of any command the CLI runs. Tokens printed more than 12 hours ago have expired.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
pip/langgraph-clito a version that resolves this vulnerability.Fixed in 0.4.32 - Upgrade
Upgrade
langgraph-clito a version that resolves this vulnerability.Fixed in 0.4.32
Event History
Frequently Asked Questions
Which deployments can expose the token?
Exposure requires langgraph-cli 0.4.15 through 0.4.31, Docker being available for a local image build, and running langgraph deploy with --verbose. Deploys without --verbose and deployments that build the image remotely did not print the token.
What could someone do with a leaked token?
Before the token expired, someone who obtained it could pull images from the affected deployment's image repository. The token is limited to that repository and is short-lived, with a maximum lifetime of 12 hours.
How can I determine whether credentials may have been exposed?
Review CI logs, terminal recordings, and other retained or shared output for verbose deployments run with affected versions. You may be affected if that output included the docker login step and was accessible to others before the token expired.
What should I do if I cannot immediately update?
Avoid running langgraph deploy with --verbose, especially where output is retained or shared. Deploying without --verbose does not print the token.