CSA: How to De-Risk Patching Third Party Software Packages

Source URL: https://www.vanta.com/resources/patching-third-party-software-packages
Source: CSA
Title: How to De-Risk Patching Third Party Software Packages

Feedly Summary:

AI Summary and Description: Yes

Summary: The text discusses essential steps and best practices for managing package vulnerabilities, specifically focusing on patching Node.js packages such as `jsonwebtoken`. It highlights the challenges associated with patching, offers practical mitigation strategies, and underscores the importance of cautious deployments in software security.

Detailed Description: The content outlines a structured approach to addressing vulnerabilities in software packages, which is crucial for maintaining security within applications. Here are the major points discussed:

– **Assessing Package Vulnerabilities**:
– Organizations should systematically review and triage vulnerabilities.
– Patching is not always straightforward and can lead to reliability risks if done hastily.

– **Patching Practices**:
– **Changelog Review**: Important to grasp changes between package versions but can be daunting to navigate.
– **Complexity of Patching**: Updating a package may inadvertently affect user sessions and compatibility of functions.

– **Mitigation Tricks at Vanta**:
– Using Node.js and Yarn as examples, the text provides techniques to minimize risks when patching:

– **Install Both Versions**:
– Install the new version alongside the old version to test compatibility.

– **Guardrails for Developers**:
– Introduce lint rules or static analysis to ensure new code uses the updated package version.

– **Blue-Green Deployment**:
– Implement a blue-green deployment strategy to run both versions concurrently to identify discrepancies, specifically for critical functions.

– **Code Migration Strategies**:
– Use functions that compare outputs of the old and new versions to log differences while ensuring application integrity.
– Suggests leveraging existing tools from major teams like Trello and GitHub to automate part of the migration process.

– **Feature Flags**:
– Allows for incremental rollouts of the patched version, minimizing risk and enabling quick rollback if issues arise.

– **Cleanup**:
– Once assured of the new version’s reliability, uninstall the old version and renaming any aliases used during the transition.

The document is a treasure trove of practical insights for software developers and security professionals, indicating how to navigate the intricate balance between compliance with security patches and the functional reliability of their applications. These principles are paramount for maintaining robust security postures in today’s cloud-centric and software-driven environments, effectively aligning with best practices in software security and compliance.