Keyboard shortcuts

Press โ† or โ†’ to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Vulnerability Management Policy

Version: 1.0 Last Updated: 2025-12-17 Owner: Security Team Compliance: PCI-DSS 6.2, SOX 404, Basel III Cyber Risk


Table of Contents


Overview

This document defines the vulnerability management policy for the Bindy DNS Controller project. The policy ensures that security vulnerabilities in dependencies, container images, and source code are identified, tracked, and remediated in a timely manner to maintain compliance with PCI-DSS, SOX, and Basel III requirements.

Objectives

  1. Identify vulnerabilities in all software components before deployment
  2. Remediate vulnerabilities within defined SLAs based on severity
  3. Track and report vulnerability metrics for compliance audits
  4. Prevent deployment of code with CRITICAL/HIGH vulnerabilities
  5. Maintain audit trail of vulnerability management activities

Scope

This policy applies to:

  • Rust dependencies (direct and transitive) listed in Cargo.lock
  • Container base images (Debian, Alpine, etc.)
  • Container runtime dependencies (libraries, binaries)
  • Development dependencies used in CI/CD pipelines
  • Third-party libraries and tools

Out of Scope

  • Kubernetes cluster vulnerabilities (managed by platform team)
  • Infrastructure vulnerabilities (managed by operations team)
  • Application logic vulnerabilities (covered by code review process)

Vulnerability Severity Levels

Vulnerabilities are classified using the Common Vulnerability Scoring System (CVSS v3) and mapped to severity levels:

๐Ÿ”ด CRITICAL (CVSS 9.0-10.0)

Definition: Vulnerabilities that can be exploited remotely without authentication and lead to:

  • Remote code execution (RCE)
  • Complete system compromise
  • Data exfiltration of sensitive information
  • Denial of service affecting multiple systems

Examples:

  • Unauthenticated RCE in web server
  • SQL injection with admin access
  • Memory corruption leading to arbitrary code execution

SLA: 24 hours


๐ŸŸ  HIGH (CVSS 7.0-8.9)

Definition: Vulnerabilities that can be exploited with limited user interaction or authentication and lead to:

  • Privilege escalation
  • Unauthorized data access
  • Significant denial of service
  • Bypass of authentication/authorization controls

Examples:

  • Authenticated RCE
  • Cross-site scripting (XSS) with session hijacking
  • Path traversal allowing file read/write
  • Insecure deserialization

SLA: 7 days


๐ŸŸก MEDIUM (CVSS 4.0-6.9)

Definition: Vulnerabilities that require significant user interaction or specific conditions and lead to:

  • Limited information disclosure
  • Localized denial of service
  • Minor authorization bypass
  • Reduced system functionality

Examples:

  • Information disclosure (non-sensitive data)
  • CSRF with limited impact
  • Reflected XSS
  • Resource exhaustion (single process)

SLA: 30 days


๐Ÿ”ต LOW (CVSS 0.1-3.9)

Definition: Vulnerabilities with minimal impact that require significant preconditions:

  • Cosmetic issues
  • Minor information disclosure
  • Difficult-to-exploit conditions
  • No direct security impact

Examples:

  • Version disclosure
  • Clickjacking on non-critical pages
  • Minor configuration issues

SLA: 90 days or next release


Remediation SLAs

SeverityCVSS ScoreDetection to FixApproval to DeployExceptions
๐Ÿ”ด CRITICAL9.0-10.024 hours4 hoursCISO approval required
๐ŸŸ  HIGH7.0-8.97 days1 business daySecurity lead approval
๐ŸŸก MEDIUM4.0-6.930 daysNext sprintTeam lead approval
๐Ÿ”ต LOW0.1-3.990 daysNext releaseAuto-approved

SLA Clock

  • Starts: When vulnerability is first detected by automated scan
  • Pauses: When risk acceptance or exception is granted
  • Stops: When patch is deployed to production OR exception is approved

SLA Escalation

If SLA is at risk of being missed:

  • T-50%: Notification to team lead
  • T-80%: Notification to security team
  • T-100%: Escalation to CISO and incident response team

Scanning Process

Automated Scanning

1. Continuous Integration (CI) Scanning

Frequency: Every PR and commit to main branch

Tools:

  • cargo audit for Rust dependencies
  • Trivy for container images

Process:

  1. PR is opened or updated
  2. CI workflow runs security scans
  3. If CRITICAL/HIGH vulnerabilities found:
    • CI fails
    • PR is blocked from merging
    • GitHub issue is created automatically
  4. Developer must remediate before merge

Workflow: .github/workflows/pr.yaml

2. Scheduled Scanning

Frequency: Daily at 00:00 UTC

Tools:

  • cargo audit for dependencies
  • Trivy for published container images

Process:

  1. Scan runs automatically via GitHub Actions
  2. Results are uploaded to GitHub Security tab
  3. If vulnerabilities found:
    • GitHub issue is created with details
    • Security team is notified
  4. Vulnerabilities are tracked until remediation

Workflow: .github/workflows/security-scan.yaml

3. Release Scanning

Frequency: Every release tag

Tools:

  • cargo audit for final dependency snapshot
  • Trivy for release container image

Process:

  1. Release is tagged
  2. Security scans run before deployment
  3. If CRITICAL/HIGH vulnerabilities found:
    • Release fails
    • Issue is created for emergency fix
  4. Release proceeds only if all scans pass

Workflow: .github/workflows/release.yaml

Manual Scanning

Developers should run scans locally before committing:

# Scan Rust dependencies
cargo audit

# Scan container image
trivy image ghcr.io/firestoned/bindy:latest

Remediation Process

Step 1: Triage (Within 4 hours for CRITICAL, 24 hours for HIGH)

  1. Verify vulnerability applies to Bindy:

    • Check if vulnerable code path is used
    • Verify affected version matches
    • Assess exploitability in Bindyโ€™s context
  2. Assess impact:

    • What data/systems are at risk?
    • What is the attack vector?
    • Is there a known exploit?
  3. Determine remediation approach:

    • Update dependency to patched version
    • Apply workaround/mitigation
    • Accept risk (if low impact)

Step 2: Remediation (Within SLA)

Option A: Update Dependency

# Update single dependency
cargo update -p <package-name>

# Verify fix
cargo audit

# Test
cargo test

Option B: Upgrade Major Version

# Update Cargo.toml
vim Cargo.toml  # Change version constraint

# Update lockfile
cargo update

# Test for breaking changes
cargo test

Option C: Apply Workaround

If no patch is available:

  1. Disable vulnerable feature flag
  2. Implement input validation
  3. Add runtime checks
  4. Document in SECURITY.md

Option D: Request Exception (See Exception Process)

Step 3: Verification

  1. Run cargo audit to confirm vulnerability is resolved
  2. Run cargo test to ensure no regressions
  3. Run integration tests
  4. Document fix in PR description

Step 4: Deployment

  1. Create PR with fix
  2. PR passes all CI checks (including security scans)
  3. Code review and approval
  4. Merge to main
  5. Deploy to production
  6. Close GitHub issue

Step 5: Post-Deployment

  1. Verify vulnerability is resolved in production
  2. Update metrics dashboard
  3. Document lessons learned
  4. Update runbooks if needed

Exception Process

When to Request an Exception

  • No patch available and vulnerability has low exploitability
  • Patch introduces breaking changes requiring extended migration
  • Vulnerability does not apply to Bindyโ€™s use case
  • Compensating controls mitigate the risk

Exception Request Process

  1. Create exception request (GitHub issue or security ticket):

    • Vulnerability ID (CVE, RUSTSEC-ID)
    • Severity and CVSS score
    • Justification for exception
    • Compensating controls
    • Expiration date (max 90 days)
  2. Approval required:

    • CRITICAL: CISO approval
    • HIGH: Security lead approval
    • MEDIUM: Team lead approval
    • LOW: Auto-approved
  3. Document in SECURITY.md:

    ## Known Vulnerabilities (Risk Accepted)
    
    ### CVE-2024-XXXXX - <Package Name>
    - **Severity:** HIGH
    - **Affected Version:** 1.2.3
    - **Status:** Risk Accepted
    - **Justification:** Vulnerability requires local file system access, which is not available in Kubernetes pod security context.
    - **Compensating Controls:** Pod security policy enforces readOnlyRootFilesystem=true
    - **Expiration:** 2025-03-01
    - **Approved By:** Jane Doe (Security Lead)
    - **Date:** 2025-01-15
    
  4. Review exceptions monthly:

    • Check if patch is now available
    • Verify compensating controls are still effective
    • Renew or remediate before expiration

Reporting and Metrics

Weekly Report

Recipients: Development team, Security team

Contents:

  • New vulnerabilities detected
  • Vulnerabilities remediated
  • Open vulnerabilities by severity
  • SLA compliance percentage
  • Aging vulnerabilities (open >30 days)

Source: GitHub Security tab + automated report workflow

Monthly Report

Recipients: Management, Compliance team

Contents:

  • Vulnerability trends (month-over-month)
  • Mean time to remediate (MTTR) by severity
  • SLA compliance rate
  • Exception requests and approvals
  • Top 5 vulnerable dependencies
  • Compliance attestation

Source: Security metrics dashboard

Quarterly Report

Recipients: Executive team, Audit team

Contents:

  • Vulnerability management effectiveness
  • Policy compliance audit results
  • Risk acceptance report
  • Remediation process improvements
  • Compliance attestation (PCI-DSS, SOX, Basel III)

Source: Compliance reporting system

Key Metrics

  1. Mean Time to Detect (MTTD): Time from CVE disclosure to detection in Bindy

    • Target: <24 hours
  2. Mean Time to Remediate (MTTR):

    • CRITICAL: <24 hours
    • HIGH: <7 days
    • MEDIUM: <30 days
  3. SLA Compliance Rate: Percentage of vulnerabilities remediated within SLA

    • Target: >95%
  4. Vulnerability Backlog: Open vulnerabilities by severity

    • Target: Zero CRITICAL, <5 HIGH
  5. Scan Coverage: Percentage of releases scanned

    • Target: 100%

Roles and Responsibilities

Development Team

  • Run local security scans before committing
  • Remediate vulnerabilities assigned to them
  • Create PRs with security fixes
  • Test fixes for regressions
  • Document security changes in CHANGELOG

Security Team

  • Monitor daily scan results
  • Triage and assign vulnerabilities
  • Approve risk exceptions
  • Conduct weekly vulnerability reviews
  • Maintain this policy document
  • Report metrics to management

DevOps/SRE Team

  • Maintain CI/CD scanning infrastructure
  • Deploy security patches to production
  • Monitor for new container base image vulnerabilities
  • Coordinate emergency patching

Compliance Team

  • Review quarterly vulnerability reports
  • Validate SLA compliance for audits
  • Maintain audit trail documentation
  • Coordinate with external auditors

Compliance Requirements

PCI-DSS 6.2

Requirement: Protect all system components from known vulnerabilities by installing applicable security patches/updates.

Implementation:

  • Automated vulnerability scanning (cargo audit + Trivy)
  • Patch within SLA (CRITICAL: 24h, HIGH: 7d)
  • Audit trail of remediation activities
  • Quarterly vulnerability reports

Evidence:

  • GitHub Actions scan logs
  • Security dashboard showing zero CRITICAL vulnerabilities
  • CHANGELOG entries documenting patches
  • Exception approval records

SOX 404 - IT General Controls

Requirement: IT systems must have controls to identify and remediate security vulnerabilities.

Implementation:

  • Documented vulnerability management policy (this document)
  • Automated scanning in CI/CD pipeline
  • SLA-based remediation tracking
  • Monthly compliance reports

Evidence:

  • This policy document
  • CI/CD workflow configurations
  • GitHub issues tracking remediation
  • Monthly vulnerability management reports

Basel III - Operational/Cyber Risk

Requirement: Banks must manage cyber risk through preventive controls.

Implementation:

  • Preventive control: Block deployment of vulnerable code (CI gate)
  • Detective control: Daily scheduled scans
  • Corrective control: SLA-based remediation process
  • Risk acceptance: Exception process with approvals

Evidence:

  • Failed CI builds due to vulnerabilities
  • Scheduled scan results
  • Remediation SLA metrics
  • Exception approval documentation

References


Policy Review

This policy is reviewed and updated:

  • Quarterly: By security team
  • Annually: By compliance team
  • Ad-hoc: When compliance requirements change

Last Review: 2025-12-17 Next Review: 2025-03-17 Approved By: Security Team