In the Linux kernel, the following vulnerability has been resolved:
ceph: give up on paths longer than PATH_MAX
If the full path to be built by cephmdscbuildpath() happens to be longer than PATHMAX, then this function will enter an endless (retry) loop, effectively blocking the whole task. Most of the machine becomes unusable, making this a very simple and effective DoS vulnerability.
I cannot imagine why this retry was ever implemented, but it seems rather useless and harmful to me. Let's remove it and fail with ENAMETOOLONG instead.
[
{
"signature_type": "Function",
"target": {
"function": "ceph_mdsc_build_path",
"file": "fs/ceph/mds_client.c"
},
"id": "CVE-2024-53685-04337595",
"digest": {
"function_hash": "190222548024488363241431947400195613848",
"length": 1431.0
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@0f2b2d9e881c90402dbe28f9ba831775b7992e1f",
"deprecated": false
},
{
"signature_type": "Line",
"target": {
"file": "fs/ceph/mds_client.c"
},
"id": "CVE-2024-53685-0c4de0a0",
"digest": {
"threshold": 0.9,
"line_hashes": [
"133922003644750865806033717126504608624",
"257377125590378904704611638426963811140",
"5568415553300504196997082216088785817",
"298009903873023827356367030974050241836",
"56710049541428690949485695986731848633",
"4042485294337349116847540960729750606"
]
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@0f2b2d9e881c90402dbe28f9ba831775b7992e1f",
"deprecated": false
},
{
"signature_type": "Line",
"target": {
"file": "fs/ceph/mds_client.c"
},
"id": "CVE-2024-53685-0f66d3b7",
"digest": {
"threshold": 0.9,
"line_hashes": [
"107346321646949156775588339650384090243",
"105831649076131045338474659163190717575",
"11236853037125435965574914739235557494",
"60515435075515140008806643585563767275",
"130348266659412282978127906892635872083",
"4042485294337349116847540960729750606"
]
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@550f7ca98ee028a606aa75705a7e77b1bd11720f",
"deprecated": false
},
{
"signature_type": "Line",
"target": {
"file": "fs/ceph/mds_client.c"
},
"id": "CVE-2024-53685-3df5e44d",
"digest": {
"threshold": 0.9,
"line_hashes": [
"107346321646949156775588339650384090243",
"105831649076131045338474659163190717575",
"11236853037125435965574914739235557494",
"60515435075515140008806643585563767275",
"130348266659412282978127906892635872083",
"4042485294337349116847540960729750606"
]
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@99a37ab76a315c8307eb5b0dc095d8ad9d8efeaa",
"deprecated": false
},
{
"signature_type": "Function",
"target": {
"function": "ceph_mdsc_build_path",
"file": "fs/ceph/mds_client.c"
},
"id": "CVE-2024-53685-486b5d4a",
"digest": {
"function_hash": "798673754761086497853729229305962902",
"length": 2231.0
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@550f7ca98ee028a606aa75705a7e77b1bd11720f",
"deprecated": false
},
{
"signature_type": "Line",
"target": {
"file": "fs/ceph/mds_client.c"
},
"id": "CVE-2024-53685-4db28e14",
"digest": {
"threshold": 0.9,
"line_hashes": [
"133922003644750865806033717126504608624",
"257377125590378904704611638426963811140",
"5568415553300504196997082216088785817",
"298009903873023827356367030974050241836",
"56710049541428690949485695986731848633",
"4042485294337349116847540960729750606"
]
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@e4b168c64da06954be5d520f6c16469b1cadc069",
"deprecated": false
},
{
"signature_type": "Function",
"target": {
"function": "ceph_mdsc_build_path",
"file": "fs/ceph/mds_client.c"
},
"id": "CVE-2024-53685-ccd3868c",
"digest": {
"function_hash": "798673754761086497853729229305962902",
"length": 2231.0
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@99a37ab76a315c8307eb5b0dc095d8ad9d8efeaa",
"deprecated": false
},
{
"signature_type": "Line",
"target": {
"file": "fs/ceph/mds_client.c"
},
"id": "CVE-2024-53685-dcf28d58",
"digest": {
"threshold": 0.9,
"line_hashes": [
"125284072437670613212603985144217592397",
"166374033393313465423324647713880387872",
"278772962281549262447604005614857759308",
"90745933410167672890539269860399520620",
"130348266659412282978127906892635872083",
"4042485294337349116847540960729750606"
]
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@c47ed91156daf328601d02b58d52d9804da54108",
"deprecated": false
},
{
"signature_type": "Line",
"target": {
"file": "fs/ceph/mds_client.c"
},
"id": "CVE-2024-53685-e9039c56",
"digest": {
"threshold": 0.9,
"line_hashes": [
"133922003644750865806033717126504608624",
"257377125590378904704611638426963811140",
"5568415553300504196997082216088785817",
"298009903873023827356367030974050241836",
"56710049541428690949485695986731848633",
"4042485294337349116847540960729750606"
]
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@d42ad3f161a5a487f81915c406f46943c7187a0a",
"deprecated": false
},
{
"signature_type": "Function",
"target": {
"function": "ceph_mdsc_build_path",
"file": "fs/ceph/mds_client.c"
},
"id": "CVE-2024-53685-e9cd58e0",
"digest": {
"function_hash": "190222548024488363241431947400195613848",
"length": 1431.0
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@e4b168c64da06954be5d520f6c16469b1cadc069",
"deprecated": false
},
{
"signature_type": "Function",
"target": {
"function": "ceph_mdsc_build_path",
"file": "fs/ceph/mds_client.c"
},
"id": "CVE-2024-53685-f0948781",
"digest": {
"function_hash": "50477686857275752523640131548477316919",
"length": 2207.0
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@c47ed91156daf328601d02b58d52d9804da54108",
"deprecated": false
},
{
"signature_type": "Function",
"target": {
"function": "ceph_mdsc_build_path",
"file": "fs/ceph/mds_client.c"
},
"id": "CVE-2024-53685-f5a4c562",
"digest": {
"function_hash": "190222548024488363241431947400195613848",
"length": 1431.0
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@d42ad3f161a5a487f81915c406f46943c7187a0a",
"deprecated": false
}
]