Why Your Vulnerability Scanner Finds the Same Issues Every Quarter

Retool's new app builder is where AI-generated code ships safely
Building apps with AI is easy. Getting them to production safely is another story.
Vulnerability scanners do not lie. If your scanner is surfacing the same critical findings in Q2 that it surfaced in Q4 -- and the quarter before that -- the scanner is doing its job correctly. The failure is downstream.
After working through vulnerability management programs at organizations ranging from 50-person startups to 2,000-person enterprises, the pattern is consistent: persistent findings are almost never a detection problem. They are an ownership problem, a workflow problem, and a communication problem. The scan result is only the beginning of the process. What happens after the scan is where programs collapse.
The six failure modes that cause recurrent findings are: ownership gaps, SLA and sprint misalignment, risk acceptance rot, tooling disconnects, ticket routing failures, and the absence of a remediation feedback loop. Most organizations have at least three of these operating simultaneously. This guide walks through each one, explains how to identify which are active in your environment, and describes the specific workflow changes that break the cycle without requiring a headcount increase or a platform replacement.
The Ownership Gap: When a Finding Belongs to Everyone, It Gets Fixed by Nobody
The most common cause of recurrent findings is the absence of a single named owner for each finding. When a scanner flags a vulnerability, the typical workflow routes it to a security queue, a ticketing system, or a dashboard. The ticket says something like "remediate SSL/TLS weak cipher on web-prod-3." It does not say who owns web-prod-3 for remediation purposes, whether that person is the application team, the infrastructure team, or the platform team, or what approvals are needed before a change can be made.
Without a named owner who has accepted responsibility and has the access and authority to fix the issue, the finding sits. The next scan cycle finds it again. The ticket accumulates comments. Someone marks it "in progress" without actually progressing it. A year later, the same finding appears in an audit.
The fix requires two things: an asset ownership register that maps every significant system to a named engineering owner (not a team name), and a triage step after each scan that assigns each finding to a specific owner before the ticket is created. This sounds obvious. In practice, most organizations either lack the asset register or skip the assignment step, routing findings to team queues where collective ownership means no individual accountability.
If you cannot answer "Who personally owns the remediation of this finding and has accepted that responsibility?" for every open finding in your system, you have an ownership gap.
The SLA Mismatch: Why 30-Day Patch Windows Fail Against 2-Week Sprint Cycles
Security patch SLAs are typically inherited from NIST SP 800-40 or CIS Controls: 15 days for critical, 30 days for high, 90 days for medium. These timelines exist for good regulatory reasons. They were not designed around how software development teams actually plan and deliver work.
Engineering teams running two-week sprints plan their sprint backlog 3 to 5 days before each sprint begins. A critical vulnerability flagged on day 3 of a sprint has effectively missed that sprint's planning window. The team has already committed to other deliverables. The security ticket gets backlogged for next sprint. If the next sprint also fills up, the ticket ages past the SLA before a single line of code is touched. This is not a failure of will. It is a failure of timing.
The practical fix is to align SLA language to sprint vocabulary. Instead of "critical vulnerabilities must be remediated within 15 calendar days," write "critical vulnerabilities enter the next sprint planning session as non-deferrable items, with a maximum of one sprint deferral requiring documented approval." This language maps to the actual process engineers use and forces the SLA conversation to happen at sprint planning -- where the right people are in the room -- rather than in an async comment thread three weeks later.
A secondary fix is to establish a standing patch-sprint slot in each sprint cycle, pre-reserved for security items. Even reserving 10% of sprint capacity for security work prevents the pattern of security tickets always losing to feature delivery pressure.
Briefings like this, every morning before 9am.
Threat intel, active CVEs, and campaign alerts, distilled for practitioners. 50,000+ subscribers. No noise.
Risk Acceptance Rot: How Exceptions Accumulate Without Governance
Risk acceptance is a legitimate and necessary part of vulnerability management. Some vulnerabilities cannot be patched immediately due to application compatibility, vendor dependencies, or business continuity requirements. The problem is not risk acceptance. The problem is risk acceptance without governance.
In most programs, risk acceptances are created when someone decides they cannot fix a finding right now. A manager approves it. The finding gets marked "accepted" in the scanner. What happens next is where governance breaks down: the acceptance has no expiry date, no review trigger, and no owner responsible for reassessing the decision. Six months later, the circumstances that made patching difficult may no longer apply -- but nobody knows to revisit the acceptance. A year later, the acceptance is three years old, the manager who approved it has left the company, and the finding is invisible in reports because it is filtered as "accepted."
Risk acceptance governance requires three controls: a maximum acceptance duration of 90 days for criticals and 180 days for highs, automatic ticket creation 30 days before acceptance expiry to force reassessment, and a named individual who must actively renew or escalate each acceptance when it expires. These controls mean every risk acceptance is either remediated, renewed with fresh justification, or escalated to someone with authority to decide. Without them, your exception list is a growing inventory of vulnerabilities that nobody is actively managing.
The Tooling Disconnect: When Findings Never Reach the Engineering Team
Most security teams manage vulnerabilities in scanner dashboards or security-specific platforms: Tenable, Qualys, Rapid7, or similar. Most engineering teams manage their work in Jira, Linear, or GitHub Issues. When these systems are not connected, every vulnerability requires manual translation from a security tool into an engineering ticket, and that translation step fails consistently.
The failure mode looks like this: the security team reviews scanner output, identifies findings that need engineering attention, and sends a Slack message, an email, or a spreadsheet to the engineering team. The engineering team receives a list of CVEs with CVSS scores and scanner output text. They do not know which of their systems is actually affected, how to estimate the work required, or where to track progress. The ticket never gets created. The next quarter, the same findings appear.
The fix is direct integration between scanner output and engineering ticketing systems. Tenable, Qualys, and Rapid7 all offer Jira integrations that auto-create tickets with pre-populated fields including affected asset, CVE details, suggested remediation steps, and SLA deadline. When this integration is configured, the security team's job shifts from creating tickets to reviewing automatically created tickets for accuracy before they enter sprint planning. The manual translation step disappears, and findings that were invisible to engineering suddenly have a home in the same system engineers check every morning.
Diagnosing Your Specific Failure Mode in 30 Minutes
Pull 10 findings from your current scanner output that have appeared in at least two consecutive quarterly scans. For each one, answer four questions:
1. Who is the named owner? If the answer is a team name rather than a specific person's name, you have an ownership gap.
2. When was a remediation ticket created, and in which system? If the ticket exists in a security platform but not in the engineering ticketing system, you have a tooling disconnect.
3. What is the current status, and when was the last comment added? If the last activity on a critical finding was more than 30 days ago, you have an SLA enforcement failure or a blocked ticket with no escalation path.
4. Is there an active risk acceptance on this finding? If yes, when does it expire, and who owns the renewal decision?
After running this exercise on your sample of 10, you will typically find that one or two failure modes account for 80% of the persistence. That is your starting point. Trying to fix all six failure modes simultaneously creates change fatigue and produces no measurable results within a quarter. Identify the two dominant failure modes in your environment and address those specifically before moving to the others.
Building a Remediation Loop That Does Not Depend on Goodwill
Sustainable vulnerability remediation does not rely on engineers caring about security. It relies on security being embedded in processes engineers already follow.
Three changes create a durable remediation loop:
Monthly vulnerability office hours with engineering leads. A 30-minute standing meeting where the security team reviews the top 5 open findings with the relevant engineering lead. Not a status report -- a working session where blockers are surfaced and resolved. This creates a named human relationship between security and engineering that changes the dynamic from "security sends tickets" to "security and engineering solve problems together."
Automated SLA breach notifications to engineering managers, not only individual engineers. When a critical finding ages past its SLA, the notification should go to the engineering manager whose team owns the fix. Managers have both the authority to clear blockers and the organizational incentive to prevent their team's metrics from appearing in security reports. This escalates priority without creating a confrontational dynamic.
Quarterly remediation rate reporting to leadership, broken down by owning team. A simple metric: what percentage of criticals and highs were remediated within SLA this quarter, by team. When engineering leadership sees their team's remediation rate in the same report their peers see, the organizational incentive to fix the process increases. Visibility changes behavior more reliably than appeals to security awareness or additional policy language.
The bottom line
Recurrent scanner findings are diagnostic information. They tell you that your remediation process has a specific failure point -- not that your scanner is wrong or that the vulnerabilities are unavoidable. Identify whether your failure is ownership assignment, SLA and sprint misalignment, risk acceptance governance, or tooling disconnection. Fix the dominant failure mode first. Most organizations can cut their recurrent finding rate by 50% within two quarters by addressing a single structural problem rather than running more scans or writing more policy documentation. The goal is not zero open findings. The goal is findings that move predictably from detection to closure.
Frequently asked questions
Why does my vulnerability scanner keep finding the same vulnerabilities every quarter?
Recurrent scanner findings almost always indicate a process failure downstream of detection, not a technical scanning problem. The most common causes are: no named individual owns the finding end-to-end, the SLA deadline does not align with engineering sprint cycles, risk acceptances were created without expiry dates, or findings were never translated from the security platform into the engineering team's ticketing system. Run a diagnostic on 10 recurrent findings to identify where each one stalled in the remediation workflow.
How long should it actually take to remediate a critical vulnerability?
NIST SP 800-40 recommends remediating critical vulnerabilities within 15 calendar days. In practice, Edgescan's 2024 Vulnerability Statistics Report found the median remediation time for criticals is 58 to 60 days across enterprise environments. Organizations with sprint-aligned SLAs, named ownership, and direct scanner-to-ticketing integration consistently achieve remediation times below 21 days for criticals. The 15-day target is achievable but requires workflow investment to reach consistently.
What is the difference between risk acceptance and remediation deferral?
Risk acceptance is a documented, approved decision that a known vulnerability will not be remediated and that the organization understands and accepts the associated risk, typically because patching would break a business-critical system or a compensating control is in place. Remediation deferral is informal delay without documented approval. Most organizations treat deferrals as acceptances without realizing it. Proper risk acceptance requires a named approver, a specific business justification, a compensating control description, and an expiry date after which the decision must be reviewed.
How do I get developers to actually fix security vulnerabilities?
Developers fix vulnerabilities reliably when three conditions are met: the finding appears in their existing workflow (Jira, Linear, or GitHub) rather than in a security-only tool they do not check, the ticket includes enough context to estimate the work without additional research, and the priority is visible to their manager rather than only to the assigned engineer. SLA compliance rates improve significantly when findings flow directly from scanner integrations into engineering ticketing systems with pre-populated remediation guidance.
What metrics should I track to measure vulnerability remediation performance?
Track four metrics: mean time to remediate (MTTR) for criticals and highs separately, SLA compliance rate by severity tier, percentage of open findings with named individual owners, and the ratio of recurrent findings to new findings each quarter. The recurrent finding ratio is the most useful leading indicator of process health. A declining ratio means your remediation workflow is improving. A stable or increasing ratio means findings are accumulating faster than you can close them.
How do I handle vulnerabilities that genuinely cannot be patched immediately?
Document a formal risk acceptance with: the specific CVE or finding identifier, the business reason the patch cannot be applied now, any compensating controls that reduce exploitability (network segmentation, WAF rules, authentication requirements), the named individual who is approving the decision, and an expiry date no longer than 90 days for criticals or 180 days for highs. Set an automated reminder 30 days before expiry. On expiry, the finding returns to the active remediation queue unless the acceptance is formally renewed with updated justification.
Which scanner-to-ticketing integrations produce the best results?
Tenable.io, Qualys VMDR, and Rapid7 InsightVM all offer native Jira integrations that auto-create tickets when findings meet configurable severity thresholds. Wiz and Orca Security integrate directly with Jira and Linear for cloud-specific findings. The minimum viable integration creates a Jira ticket automatically for every critical and high finding, pre-populated with the CVE ID, affected asset, CVSS score, and suggested remediation steps, and closes the ticket automatically when the next scan confirms the finding is resolved. This eliminates the manual translation step that causes most tooling disconnects.
Sources & references
Free resources
Critical CVE Reference Card 2025–2026
25 actively exploited vulnerabilities with CVSS scores, exploit status, and patch availability. Print it, pin it, share it with your SOC team.
Ransomware Incident Response Playbook
Step-by-step 24-hour IR checklist covering detection, containment, eradication, and recovery. Built for SOC teams, IR leads, and CISOs.
Get threat intel before your inbox does.
50,000+ security professionals read Decryption Digest for early warnings on zero-days, ransomware, and nation-state campaigns. Free, daily, no spam.
Unsubscribe anytime. We never sell your data.

Founder & Cybersecurity Evangelist, Decryption Digest
Cybersecurity professional with expertise in threat intelligence, vulnerability research, and enterprise security. Covers zero-days, ransomware, and nation-state operations for 50,000+ security professionals every morning.
Win a $2,495 Black Hat pass.
Full-access to Black Hat USA 2026 in Las Vegas. Subscribe free to enter.
