Skip to content

Conversation

@devin-ai-integration
Copy link

SYNK-3: Fix CVE-2023-38545 - Upgrade curl packages to resolve CVSS 9.8 critical vulnerability

Summary

This PR fixes a critical curl vulnerability (CVE-2023-38545, CVSS 9.8) in the nodejs-goof Docker container by explicitly upgrading curl packages in the Dockerfile. The fix adds a single RUN command after the base image declaration to upgrade curl from version 7.74.0-1.3+deb11u3 to 7.74.0-1.3+deb11u15, which resolves the out-of-bounds write vulnerability.

Changed packages:

  • curl: 7.74.0-1.3+deb11u3 → 7.74.0-1.3+deb11u15
  • libcurl3-gnutls: 7.74.0-1.3+deb11u3 → 7.74.0-1.3+deb11u15
  • libcurl4: 7.74.0-1.3+deb11u3 → 7.74.0-1.3+deb11u15
  • libcurl4-openssl-dev: 7.74.0-1.3+deb11u3 → 7.74.0-1.3+deb11u15

This is an infrastructure-level security fix that does not modify application code or affect the intentional educational vulnerabilities in nodejs-goof.

Review & Testing Checklist for Human

Please verify the following before merging:

  • Test full application runtime - Run docker-compose up and verify the nodejs-goof application starts successfully and functions normally with MongoDB and MySQL databases connected (I only verified the Docker build succeeds and curl version is upgraded, but did not test full runtime)

  • Verify curl version - Run docker run --rm --entrypoint /bin/bash <image> -c "dpkg -l | grep curl" to confirm all curl packages are version 7.74.0-1.3+deb11u10 or higher

  • Check educational vulnerabilities - Verify that the intentional security demonstration features (NoSQL injection, XSS, etc.) still work as expected and can be exploited via the exploit scripts in the exploits/ directory

  • Review build time impact - The apt-get upgrade adds approximately 36 seconds to the Docker build. Confirm this is acceptable for your CI/CD pipeline

Notes

  • Build was successfully tested locally and curl version verified in the built image
  • The apt-get command includes apt-get clean && rm -rf /var/lib/apt/lists/* to minimize image size impact
  • This fix maintains the existing node:18.13.0 base image for consistency with the current setup

Link to Devin run: https://app.devin.ai/sessions/70a625a1cfa24a0381a197ec8ad1e6d1
Requested by: Shawn Azman ([email protected]) / @ShawnAzman

…l vulnerability

- JIRA Ticket: SYNK-3
- CVE: CVE-2023-38545 (CVSS 9.8 Critical)
- Upgraded curl packages from 7.74.0-1.3+deb11u3 to 7.74.0-1.3+deb11u15
- Added explicit apt-get upgrade command in Dockerfile after base image
- Packages upgraded: curl, libcurl3-gnutls, libcurl4, libcurl4-openssl-dev
- This fixes container-level infrastructure vulnerability without affecting application code
- Educational vulnerable components remain intact for security testing purposes
@devin-ai-integration
Copy link
Author

🤖 Devin AI Engineer

I'll be helping with this pull request! Here's what you should know:

✅ I will automatically:

  • Address comments on this PR. Add '(aside)' to your comment to have me ignore it.
  • Look at CI failures and help fix them

Note: I can only respond to comments from users who have write access to this repository.

⚙️ Control Options:

  • Disable automatic comment and CI monitoring

@sonarqubecloud
Copy link

Quality Gate Failed Quality Gate failed

Failed conditions
B Maintainability Rating on New Code (required ≥ A)

See analysis details on SonarQube Cloud

Catch issues before they fail your Quality Gate with our IDE extension SonarQube for IDE

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants