CWE-772
AllowedMissing Release of Resource after Effective Lifetime
Abstraction: Base · Status: Draft
The product does not release a resource after its effective lifetime has ended, i.e., after the resource is no longer needed.
567 vulnerabilities reference this CWE, most recent first.
GHSA-2XHQ-GV6C-P224
Vulnerability from github – Published: 2024-01-31 00:21 – Updated: 2024-01-31 00:21Vulnerability type
Denial of Service
Detail
The etcd gateway is a simple TCP proxy to allow for basic service discovery and access. However, it is possible to include the gateway address as an endpoint. This results in a denial of service, since the endpoint can become stuck in a loop of requesting itself until there are no more available file descriptors to accept connections on the gateway.
References
Find out more on this vulnerability in the security audit report
For more information
If you have any questions or comments about this advisory: * Contact the etcd security committee
{
"affected": [
{
"database_specific": {
"last_known_affected_version_range": "\u003c= 3.4.9"
},
"package": {
"ecosystem": "Go",
"name": "go.etcd.io/etcd"
},
"ranges": [
{
"events": [
{
"introduced": "3.4.0-rc.0"
},
{
"fixed": "3.4.10"
}
],
"type": "ECOSYSTEM"
}
]
},
{
"package": {
"ecosystem": "Go",
"name": "go.etcd.io/etcd"
},
"ranges": [
{
"events": [
{
"introduced": "0"
},
{
"fixed": "3.3.23"
}
],
"type": "ECOSYSTEM"
}
]
}
],
"aliases": [
"CVE-2020-15114"
],
"database_specific": {
"cwe_ids": [
"CWE-400",
"CWE-772"
],
"github_reviewed": true,
"github_reviewed_at": "2024-01-31T00:21:52Z",
"nvd_published_at": "2020-08-06T23:15:00Z",
"severity": "HIGH"
},
"details": "### Vulnerability type\nDenial of Service\n\n### Detail\nThe etcd gateway is a simple TCP proxy to allow for basic service discovery and access. However, it is possible to include the gateway address as an endpoint. This results in a denial of service, since the endpoint can become stuck in a loop of requesting itself until there are no more available file descriptors to accept connections on the gateway.\n\n### References\nFind out more on this vulnerability in the [security audit report](https://github.com/etcd-io/etcd/blob/master/security/SECURITY_AUDIT.pdf)\n\n### For more information\nIf you have any questions or comments about this advisory:\n* Contact the [etcd security committee](https://github.com/etcd-io/etcd/blob/master/security/security-release-process.md#product-security-committee-psc)",
"id": "GHSA-2xhq-gv6c-p224",
"modified": "2024-01-31T00:21:52Z",
"published": "2024-01-31T00:21:52Z",
"references": [
{
"type": "WEB",
"url": "https://github.com/etcd-io/etcd/security/advisories/GHSA-2xhq-gv6c-p224"
},
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2020-15114"
},
{
"type": "WEB",
"url": "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/L6B6R43Y7M3DCHWK3L3UVGE2K6WWECMP"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:N/I:N/A:H",
"type": "CVSS_V3"
}
],
"summary": "Etcd Gateway can include itself as an endpoint resulting in resource exhaustion"
}
GHSA-32J9-8MQ4-72FF
Vulnerability from github – Published: 2024-10-21 15:32 – Updated: 2024-10-23 18:33In the Linux kernel, the following vulnerability has been resolved:
netfs: Delete subtree of 'fs/netfs' when netfs module exits
In netfs_init() or fscache_proc_init(), we create dentry under 'fs/netfs', but in netfs_exit(), we only delete the proc entry of 'fs/netfs' without deleting its subtree. This triggers the following WARNING:
================================================================== remove_proc_entry: removing non-empty directory 'fs/netfs', leaking at least 'requests' WARNING: CPU: 4 PID: 566 at fs/proc/generic.c:717 remove_proc_entry+0x160/0x1c0 Modules linked in: netfs(-) CPU: 4 UID: 0 PID: 566 Comm: rmmod Not tainted 6.11.0-rc3 #860 RIP: 0010:remove_proc_entry+0x160/0x1c0 Call Trace: netfs_exit+0x12/0x620 [netfs] __do_sys_delete_module.isra.0+0x14c/0x2e0 do_syscall_64+0x4b/0x110 entry_SYSCALL_64_after_hwframe+0x76/0x7e ==================================================================
Therefore use remove_proc_subtree() instead of remove_proc_entry() to fix the above problem.
{
"affected": [],
"aliases": [
"CVE-2024-47733"
],
"database_specific": {
"cwe_ids": [
"CWE-772"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2024-10-21T13:15:03Z",
"severity": "MODERATE"
},
"details": "In the Linux kernel, the following vulnerability has been resolved:\n\nnetfs: Delete subtree of \u0027fs/netfs\u0027 when netfs module exits\n\nIn netfs_init() or fscache_proc_init(), we create dentry under \u0027fs/netfs\u0027,\nbut in netfs_exit(), we only delete the proc entry of \u0027fs/netfs\u0027 without\ndeleting its subtree. This triggers the following WARNING:\n\n==================================================================\nremove_proc_entry: removing non-empty directory \u0027fs/netfs\u0027, leaking at least \u0027requests\u0027\nWARNING: CPU: 4 PID: 566 at fs/proc/generic.c:717 remove_proc_entry+0x160/0x1c0\nModules linked in: netfs(-)\nCPU: 4 UID: 0 PID: 566 Comm: rmmod Not tainted 6.11.0-rc3 #860\nRIP: 0010:remove_proc_entry+0x160/0x1c0\nCall Trace:\n \u003cTASK\u003e\n netfs_exit+0x12/0x620 [netfs]\n __do_sys_delete_module.isra.0+0x14c/0x2e0\n do_syscall_64+0x4b/0x110\n entry_SYSCALL_64_after_hwframe+0x76/0x7e\n==================================================================\n\nTherefore use remove_proc_subtree() instead of remove_proc_entry() to\nfix the above problem.",
"id": "GHSA-32j9-8mq4-72ff",
"modified": "2024-10-23T18:33:07Z",
"published": "2024-10-21T15:32:26Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2024-47733"
},
{
"type": "WEB",
"url": "https://git.kernel.org/stable/c/3c58a9575e02c2b90a3180007d57105ceaa7c246"
},
{
"type": "WEB",
"url": "https://git.kernel.org/stable/c/603f95cefbee06a31b03137b777f03e3c2163d72"
},
{
"type": "WEB",
"url": "https://git.kernel.org/stable/c/7a9eaf97d56625e55b31a7beb558e1ee185ca461"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H",
"type": "CVSS_V3"
}
]
}
GHSA-33G5-GX8W-X4P5
Vulnerability from github – Published: 2022-05-24 17:19 – Updated: 2022-05-24 17:19go7007_snd_init in drivers/media/usb/go7007/snd-go7007.c in the Linux kernel before 5.6 does not call snd_card_free for a failure path, which causes a memory leak, aka CID-9453264ef586.
{
"affected": [],
"aliases": [
"CVE-2019-20810"
],
"database_specific": {
"cwe_ids": [
"CWE-401",
"CWE-772"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2020-06-03T00:15:00Z",
"severity": "MODERATE"
},
"details": "go7007_snd_init in drivers/media/usb/go7007/snd-go7007.c in the Linux kernel before 5.6 does not call snd_card_free for a failure path, which causes a memory leak, aka CID-9453264ef586.",
"id": "GHSA-33g5-gx8w-x4p5",
"modified": "2022-05-24T17:19:01Z",
"published": "2022-05-24T17:19:01Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2019-20810"
},
{
"type": "WEB",
"url": "https://cdn.kernel.org/pub/linux/kernel/v5.x/ChangeLog-5.6"
},
{
"type": "WEB",
"url": "https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=9453264ef58638ce8976121ac44c07a3ef375983"
},
{
"type": "WEB",
"url": "https://lists.debian.org/debian-lts-announce/2020/08/msg00019.html"
},
{
"type": "WEB",
"url": "https://usn.ubuntu.com/4427-1"
},
{
"type": "WEB",
"url": "https://usn.ubuntu.com/4439-1"
},
{
"type": "WEB",
"url": "https://usn.ubuntu.com/4440-1"
},
{
"type": "WEB",
"url": "https://usn.ubuntu.com/4483-1"
},
{
"type": "WEB",
"url": "https://usn.ubuntu.com/4485-1"
},
{
"type": "WEB",
"url": "http://lists.opensuse.org/opensuse-security-announce/2020-07/msg00008.html"
},
{
"type": "WEB",
"url": "http://lists.opensuse.org/opensuse-security-announce/2020-08/msg00009.html"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H",
"type": "CVSS_V3"
}
]
}
GHSA-367Q-PRCF-2R3G
Vulnerability from github – Published: 2022-05-13 01:44 – Updated: 2022-05-13 01:44In Bftpd before 4.7, there is a memory leak in the file rename function.
{
"affected": [],
"aliases": [
"CVE-2017-16892"
],
"database_specific": {
"cwe_ids": [
"CWE-772"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2017-11-19T17:29:00Z",
"severity": "HIGH"
},
"details": "In Bftpd before 4.7, there is a memory leak in the file rename function.",
"id": "GHSA-367q-prcf-2r3g",
"modified": "2022-05-13T01:44:13Z",
"published": "2022-05-13T01:44:13Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2017-16892"
},
{
"type": "WEB",
"url": "http://bftpd.sourceforge.net/downloads/CHANGELOG"
},
{
"type": "WEB",
"url": "http://bftpd.sourceforge.net/news.html#032390"
}
],
"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-39QW-Q897-RQ4J
Vulnerability from github – Published: 2022-05-13 01:42 – Updated: 2022-05-13 01:42ImageMagick 7.0.6-1 has a memory leak vulnerability in ReadMPCImage in coders\mpc.c.
{
"affected": [],
"aliases": [
"CVE-2017-12642"
],
"database_specific": {
"cwe_ids": [
"CWE-772"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2017-08-07T15:29:00Z",
"severity": "HIGH"
},
"details": "ImageMagick 7.0.6-1 has a memory leak vulnerability in ReadMPCImage in coders\\mpc.c.",
"id": "GHSA-39qw-q897-rq4j",
"modified": "2022-05-13T01:42:44Z",
"published": "2022-05-13T01:42:44Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2017-12642"
},
{
"type": "WEB",
"url": "https://github.com/ImageMagick/ImageMagick/issues/552"
},
{
"type": "WEB",
"url": "http://www.securityfocus.com/bid/100159"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H",
"type": "CVSS_V3"
}
]
}
GHSA-3C2C-H86V-VQ82
Vulnerability from github – Published: 2022-05-13 01:49 – Updated: 2022-05-13 01:49ImageMagick 7.0.8-4 has a memory leak in DecodeImage in coders/pcd.c.
{
"affected": [],
"aliases": [
"CVE-2018-14435"
],
"database_specific": {
"cwe_ids": [
"CWE-772"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2018-07-20T00:29:00Z",
"severity": "MODERATE"
},
"details": "ImageMagick 7.0.8-4 has a memory leak in DecodeImage in coders/pcd.c.",
"id": "GHSA-3c2c-h86v-vq82",
"modified": "2022-05-13T01:49:56Z",
"published": "2022-05-13T01:49:56Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2018-14435"
},
{
"type": "WEB",
"url": "https://github.com/ImageMagick/ImageMagick/issues/1193"
},
{
"type": "WEB",
"url": "https://usn.ubuntu.com/3785-1"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H",
"type": "CVSS_V3"
}
]
}
GHSA-3CGW-4WW7-P4QF
Vulnerability from github – Published: 2022-05-13 01:43 – Updated: 2025-04-20 03:46ImageMagick version 7.0.7-2 contains a memory leak in ReadYUVImage in coders/yuv.c.
{
"affected": [],
"aliases": [
"CVE-2017-15033"
],
"database_specific": {
"cwe_ids": [
"CWE-772"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2017-10-05T07:29:00Z",
"severity": "HIGH"
},
"details": "ImageMagick version 7.0.7-2 contains a memory leak in ReadYUVImage in coders/yuv.c.",
"id": "GHSA-3cgw-4ww7-p4qf",
"modified": "2025-04-20T03:46:20Z",
"published": "2022-05-13T01:43:37Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2017-15033"
},
{
"type": "WEB",
"url": "https://github.com/ImageMagick/ImageMagick/commit/ef8f40689ac452398026c07da41656a7c87e4683"
},
{
"type": "WEB",
"url": "https://usn.ubuntu.com/3681-1"
}
],
"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-3F2Q-H2MG-2C86
Vulnerability from github – Published: 2022-05-13 01:47 – Updated: 2022-05-13 01:47In Poppler 0.54.0, a memory leak vulnerability was found in the function Object::initArray in Object.cc, which allows attackers to cause a denial of service via a crafted file.
{
"affected": [],
"aliases": [
"CVE-2017-9408"
],
"database_specific": {
"cwe_ids": [
"CWE-772"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2017-06-02T19:29:00Z",
"severity": "MODERATE"
},
"details": "In Poppler 0.54.0, a memory leak vulnerability was found in the function Object::initArray in Object.cc, which allows attackers to cause a denial of service via a crafted file.",
"id": "GHSA-3f2q-h2mg-2c86",
"modified": "2022-05-13T01:47:58Z",
"published": "2022-05-13T01:47:58Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2017-9408"
},
{
"type": "WEB",
"url": "https://bugs.freedesktop.org/show_bug.cgi?id=100776"
},
{
"type": "WEB",
"url": "https://security.gentoo.org/glsa/201801-17"
},
{
"type": "WEB",
"url": "https://www.debian.org/security/2018/dsa-4079"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H",
"type": "CVSS_V3"
}
]
}
GHSA-3F84-RPWH-47G6
Vulnerability from github – Published: 2024-10-29 14:33 – Updated: 2025-01-21 17:53Impact
When a remote client closes the connection before waitress has had the opportunity to call getpeername() waitress won't correctly clean up the connection leading to the main thread attempting to write to a socket that no longer exists, but not removing it from the list of sockets to attempt to process. This leads to a busy-loop calling the write function.
A remote attacker could run waitress out of available sockets with very little resources required.
Patches
Waitress 3.0.1 contains fixes that remove the race condition.
Workarounds
No work-around.
References
- https://github.com/Pylons/waitress/issues/418
- https://github.com/Pylons/waitress/pull/435
{
"affected": [
{
"package": {
"ecosystem": "PyPI",
"name": "waitress"
},
"ranges": [
{
"events": [
{
"introduced": "0"
},
{
"fixed": "3.0.1"
}
],
"type": "ECOSYSTEM"
}
]
}
],
"aliases": [
"CVE-2024-49769"
],
"database_specific": {
"cwe_ids": [
"CWE-772"
],
"github_reviewed": true,
"github_reviewed_at": "2024-10-29T14:33:00Z",
"nvd_published_at": "2024-10-29T15:15:12Z",
"severity": "HIGH"
},
"details": "### Impact\n\nWhen a remote client closes the connection before waitress has had the opportunity to call `getpeername()` waitress won\u0027t correctly clean up the connection leading to the main thread attempting to write to a socket that no longer exists, but not removing it from the list of sockets to attempt to process. This leads to a busy-loop calling the write function.\n\nA remote attacker could run waitress out of available sockets with very little resources required.\n\n### Patches\n\nWaitress 3.0.1 contains fixes that remove the race condition.\n\n### Workarounds\n\nNo work-around.\n\n### References\n\n- https://github.com/Pylons/waitress/issues/418\n- https://github.com/Pylons/waitress/pull/435\n",
"id": "GHSA-3f84-rpwh-47g6",
"modified": "2025-01-21T17:53:27Z",
"published": "2024-10-29T14:33:00Z",
"references": [
{
"type": "WEB",
"url": "https://github.com/Pylons/waitress/security/advisories/GHSA-3f84-rpwh-47g6"
},
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2024-49769"
},
{
"type": "WEB",
"url": "https://github.com/Pylons/waitress/issues/418"
},
{
"type": "WEB",
"url": "https://github.com/Pylons/waitress/pull/435"
},
{
"type": "WEB",
"url": "https://github.com/Pylons/waitress/commit/1ae4e894c9f76543bee06584001583fc6fa8c95c"
},
{
"type": "PACKAGE",
"url": "https://github.com/Pylons/waitress"
},
{
"type": "WEB",
"url": "https://github.com/pypa/advisory-database/tree/main/vulns/waitress/PYSEC-2024-211.yaml"
},
{
"type": "WEB",
"url": "https://lists.debian.org/debian-lts-announce/2024/11/msg00012.html"
}
],
"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"
},
{
"score": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N",
"type": "CVSS_V4"
}
],
"summary": "Waitress vulnerable to DoS leading to high CPU usage/resource exhaustion"
}
GHSA-3F89-7RR5-PCR2
Vulnerability from github – Published: 2022-05-24 17:37 – Updated: 2022-05-24 17:37In version 15.1.0-15.1.0.5, 14.1.0-14.1.3, 13.1.0-13.1.3.4, 12.1.0-12.1.5.2, and 11.6.1-11.6.5.2 of BIG-IP DNS, GTM, and Link Controller, zxfrd leaks memory when listing DNS zones. Zones can be listed via TMSH, iControl or SNMP; only users with access to those services can trigger this vulnerability.
{
"affected": [],
"aliases": [
"CVE-2020-27725"
],
"database_specific": {
"cwe_ids": [
"CWE-772"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2020-12-24T15:15:00Z",
"severity": "MODERATE"
},
"details": "In version 15.1.0-15.1.0.5, 14.1.0-14.1.3, 13.1.0-13.1.3.4, 12.1.0-12.1.5.2, and 11.6.1-11.6.5.2 of BIG-IP DNS, GTM, and Link Controller, zxfrd leaks memory when listing DNS zones. Zones can be listed via TMSH, iControl or SNMP; only users with access to those services can trigger this vulnerability.",
"id": "GHSA-3f89-7rr5-pcr2",
"modified": "2022-05-24T17:37:14Z",
"published": "2022-05-24T17:37:14Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2020-27725"
},
{
"type": "WEB",
"url": "https://support.f5.com/csp/article/K25595031"
}
],
"schema_version": "1.4.0",
"severity": []
}
Mitigation MIT-3
Strategy: Language Selection
- Use a language that does not allow this weakness to occur or provides constructs that make this weakness easier to avoid.
- For example, languages such as Java, Ruby, and Lisp perform automatic garbage collection that releases memory for objects that have been deallocated.
Mitigation
It is good practice to be responsible for freeing all resources you allocate and to be consistent with how and where you free resources in a function. If you allocate resources that you intend to free upon completion of the function, you must be sure to free the resources at all exit points for that function including error conditions.
Mitigation MIT-47
Strategy: Resource Limitation
- Use resource-limiting settings provided by the operating system or environment. For example, when managing system resources in POSIX, setrlimit() can be used to set limits for certain types of resources, and getrlimit() can determine how many resources are available. However, these functions are not available on all operating systems.
- When the current levels get close to the maximum that is defined for the application (see CWE-770), then limit the allocation of further resources to privileged users; alternately, begin releasing resources for less-privileged users. While this mitigation may protect the system from attack, it will not necessarily stop attackers from adversely impacting other users.
- Ensure that the application performs the appropriate error checks and error handling in case resources become unavailable (CWE-703).
CAPEC-469: HTTP DoS
An attacker performs flooding at the HTTP level to bring down only a particular web application rather than anything listening on a TCP/IP connection. This denial of service attack requires substantially fewer packets to be sent which makes DoS harder to detect. This is an equivalent of SYN flood in HTTP. The idea is to keep the HTTP session alive indefinitely and then repeat that hundreds of times. This attack targets resource depletion weaknesses in web server software. The web server will wait to attacker's responses on the initiated HTTP sessions while the connection threads are being exhausted.