Services Capabilities Industries Cloud Audit Free Scanner Case Studies Use Cases Book a Consultation
Security Assessment Case Study

Real Security Audit Walkthrough:
21 Vulnerabilities Found & Explained

A full-spectrum security audit of a Financial Services CRM handling 847 customer records with SSNs, credit cards, and login credentials. We broke it down finding by finding — SQL injection, plaintext PII, broken authentication, exposed configs — and fixed every last one.

11 Critical Immediate risk
7 High Urgent priority
3 Medium Address promptly
21 Total All remediated

DataVault CRM is a cloud-native customer relationship management platform used by mid-market financial services firms. Our engagement began with a black-box assessment: no source code, no architecture docs — just an API endpoint and a user account. Within 4 hours, we had identified critical data exposure and injection vectors that gave us access to the production database.

The application had no Web Application Firewall, no rate limiting on auth endpoints, and was storing sensitive fields — Social Security Numbers, credit card numbers, and plaintext passwords — in the database with no encryption layer. The JWT secret was hardcoded in an environment configuration file that was publicly accessible from the web root.

Over the full 3-day engagement, we mapped the entire attack surface, demonstrated active exploitation in a controlled proof-of-concept, and delivered a complete remediation roadmap with severity-ranked findings, code-level fix recommendations, and a post-remediation verification suite. All 21 findings were resolved within 14 days.

Client DataVault CRM
Industry Financial Services
Records at Risk 847 customer records
Engagement Date March 2026
Duration 3 days assessment
Remediation 14 days to full fix
Risk Reduction 87% → 12%
Key Vulnerabilities

The Findings That Mattered Most

11 of the 21 findings were classified Critical — meaning active exploitation in the wild was not just possible, but likely. Here's what we found.

11 Critical
7 High
3 Medium
21 Total — All Fixed
Critical C-01
SQL Injection in Reporting Module
Unsanitized user input in the report export endpoint allowed direct database access. Any authenticated user could execute arbitrary SQL — extracting all records, modifying data, or dropping tables.
OWASP A1 PCI DSS 6.3.7 SOC2 CC7.3
Critical C-02
Plaintext Social Security Numbers
SSN fields were stored in plaintext in the database. Any SQL injection, insider threat, or database backup compromise would expose every customer's SSN in the clear.
PII Exposure PCI DSS 3.4 SOC2 PII
Critical C-03
Plaintext Credit Card Numbers
Payment card data stored without encryption or tokenization. Cardholder data was retrievable through the API without any payment processing infrastructure — a direct PCI DSS violation.
PCI DSS 3.2 Cardholder Data SOC2 CC9.9
Critical C-04
Plaintext Password Storage
User passwords were stored as plaintext strings in the database. With SQL injection or database access, every user credential was immediately usable on other services (credential stuffing risk).
OWASP A2 Credential Stuffing NIST 800-63B
Critical C-05
Exposed Environment Configuration File
The .env file was publicly accessible from the web root, exposing database credentials, JWT signing secrets, API keys, and third-party service tokens.
Secret Exposure OWASP A5 Infrastructure
Critical C-06
Broken JWT Authentication
The JWT secret was hardcoded and recoverable from the exposed config file. We generated valid tokens for any user account — including admin — enabling full account takeover.
OWASP A7 Broken Auth Token Forgery
Critical C-07
No Database Backups
No automated backups were configured. A ransomware attack, accidental data deletion, or infrastructure failure would result in permanent data loss for all 847 customers.
Business Continuity Disaster Recovery SOC2 CC6.1
High H-01
Broken Rate Limiting on Auth Endpoints
Login, password reset, and API key generation endpoints had no rate limiting. Automated credential stuffing and brute force attacks were trivially easy to execute.
OWASP A2 Brute Force Credential Stuffing
High H-02
Missing Input Validation Across All Endpoints
No server-side input validation on any API endpoint. Malformed, oversized, or malicious payloads were passed directly to the business logic layer with no sanitization.
OWASP A1 API Security SOC2 CC7.2
High H-03
No HTTPS Enforcement
API accepted both HTTP and HTTPS connections. Man-in-the-middle attacks on untrusted networks (coffee shop WiFi, corporate proxies) could intercept credentials and session tokens in plaintext.
Transport Security PCI DSS 4.0 MITM Risk
High H-04
Missing Audit Logging
No security event logging — no records of login attempts, data exports, permission changes, or admin actions. A breach could go undetected for months with no forensic trail.
SOC2 CC7.2 NIST 800-53 AU Forensics
High H-05
Overly Permissive IAM Roles
Application service accounts had excessive cloud permissions — full read access to all S3 buckets, * access to Secrets Manager. Compromise of one service account would cascade across the entire cloud environment.
Cloud Security Least Privilege NIST 800-53 AC
High H-06
Insecure Direct Object Reference (IDOR)
API endpoints exposed internal record IDs without authorization checks. Any authenticated user could access any other customer's records by changing the ID in the request URL.
OWASP A1 Authorization Data Breach
High H-07
Missing Security Headers
No Content-Security-Policy, X-Frame-Options, X-Content-Type-Options, or Strict-Transport-Security headers. The application was vulnerable to XSS injection, clickjacking, and MIME-type sniffing attacks.
OWASP A7 XSS Clickjacking
Medium M-01
Session Timeout Not Enforced
User sessions did not expire after inactivity. An unattended workstation with an active session remained exploitable indefinitely, allowing account access after the legitimate user left.
OWASP A7 Session Mgmt SOC2 CC6.3
Medium M-02
Weak Password Policy
No minimum length requirements, no complexity rules, no breach database checking. Common passwords and short credentials were accepted, reducing resistance to credential guessing attacks.
OWASP A2 NIST 800-63B Password Policy
Medium M-03
Missing Error Message Standardization
API returned verbose stack traces and internal error messages in production responses. Attackers used these to fingerprint the technology stack, database type, and internal file paths for targeted exploitation.
OWASP A7 Information Disclosure SOC2 CC7.3
Compliance Coverage

Frameworks Tested & Aligned

Every finding was mapped to the compliance frameworks that apply to financial services organizations handling PII and payment card data.

PCI
PCI DSS
Payment Card Industry Data Security Standard. Required for any entity that stores, processes, or transmits cardholder data. DataVault's plaintext card storage was a direct violation of PCI DSS 3.2 and 3.4.
Post-remediation: Compliant
SOC
SOC 2 Type II
Service Organization Control 2. Applicable to SaaS platforms serving enterprise customers. DataVault's audit logging gap, broken auth, and data exposure issues spanned multiple SOC2 trust service criteria.
Post-remediation: Compliant
NIST
NIST 800-53
National Institute of Standards and Technology controls. Required for federal systems and widely adopted in financial services. Findings mapped to Access Control (AC), Identification & Authentication (IA), and Audit & Accountability (AU) families.
Post-remediation: Aligned
Video Walkthrough

See the Audit in Action

Watch us walk through the DataVault findings live — showing each exploit, explaining the impact, and demonstrating the fix. Video coming soon once the channel is set up.

Security Audit Walkthrough · March 2026
21 Vulnerabilities Found & Explained
DataVault CRM · Financial Services · Sentinel Stacks
Video coming soon Walkthrough covers every Critical finding with live exploit demos and remediation walkthroughs
Coming Soon
More Coming

Additional Use Cases

More detailed security assessment walkthroughs are being added. Each one covers a different industry, tech stack, and threat profile.

Get Your Own Security Assessment

Run a free surface scan on your domain, or schedule a full engagement. We break it down finding by finding — the same way we did for DataVault.