Skip to content

Deep Search cancellation ineffective: Client enters request loop causing 100% CPU usage on target server (DoS behavior) #34

@Artur-Su

Description

@Artur-Su

Describe the bug
I ran rustySEO on Windows with two windows open. I initiated a "Deep Search" in one window and later attempted to stop it. While the Windows UI visually indicated that the process had stopped, the application continued running in the background, sending a continuous loop of requests.

This behavior did not spike the CPU on the Windows client, but it flooded my web server with approximately 300,000 requests over 4 hours. This massive volume caused my server's CPU to sit at 100% usage for that entire duration.

To Reproduce
Steps to reproduce the behavior:

  1. Open rustySEO on a Windows machine (two windows/instances active).
  2. Initiate a 'Deep Search' targeting a specific website/server.
  3. Click 'Stop' to cancel the search.
  4. Observe that the UI indicates the search has stopped.
  5. Monitor the access logs or resource usage on the target server.
  6. See error: The client continues sending thousands of requests, causing the target server's CPU to spike to 100%.

Expected behavior
When the 'Stop' button is clicked, the client should immediately terminate all outgoing network requests to the target server to prevent resource exhaustion.

Screenshots
(If you have server logs showing the request flood or a graph of the server's CPU usage during that time, add them here.)

Desktop (Client running rustySEO):

  • OS: Windows

Target Server Information (Impacted System):

  • OS: Ubuntu

  • Impact: 100% CPU load due to ~300k requests in 4 hours.

Additional context

  • The issue seems to be a failure in the cancellation logic of the 'Deep Search' feature.
  • The client-side application does not show high resource usage, but the network activity persists silently in the background.

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions