CVE-2024-49994

Source
https://nvd.nist.gov/vuln/detail/CVE-2024-49994
Import Source
https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2024-49994.json
JSON Data
https://api.test.osv.dev/v1/vulns/CVE-2024-49994
Downstream
Related
Published
2024-10-21T18:02:35Z
Modified
2025-10-17T14:59:28.691483Z
Summary
block: fix integer overflow in BLKSECDISCARD
Details

In the Linux kernel, the following vulnerability has been resolved:

block: fix integer overflow in BLKSECDISCARD

I independently rediscovered

commit 22d24a544b0d49bbcbd61c8c0eaf77d3c9297155
block: fix overflow in blk_ioctl_discard()

but for secure erase.

Same problem:

uint64_t r[2] = {512, 18446744073709551104ULL};
ioctl(fd, BLKSECDISCARD, r);

will enter near infinite loop inside blkdevissuesecure_erase():

a.out: attempt to access beyond end of device
loop0: rw=5, sector=3399043073, nr_sectors = 1024 limit=2048
bio_check_eod: 3286214 callbacks suppressed
References

Affected packages

Git / git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git

Affected ranges

Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
44abff2c0b970ae3d310b97617525dc01f248d7c
Fixed
8476f8428e8b48fd7a0e4258fa2a96a8f4468239
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
44abff2c0b970ae3d310b97617525dc01f248d7c
Fixed
a99bacb35c1416355eef957560e8fcac3a665549
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
44abff2c0b970ae3d310b97617525dc01f248d7c
Fixed
0842ddd83939eb4db940b9af7d39e79722bc41aa
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
44abff2c0b970ae3d310b97617525dc01f248d7c
Fixed
6c9915fa9410cbb9bd75ee283c03120046c56d3d
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
44abff2c0b970ae3d310b97617525dc01f248d7c
Fixed
697ba0b6ec4ae04afb67d3911799b5e2043b4455

Affected versions

v5.*

v5.18
v5.18-rc4
v5.18-rc5
v5.18-rc6
v5.18-rc7
v5.19
v5.19-rc1
v5.19-rc2
v5.19-rc3
v5.19-rc4
v5.19-rc5
v5.19-rc6
v5.19-rc7
v5.19-rc8

v6.*

v6.0
v6.0-rc1
v6.0-rc2
v6.0-rc3
v6.0-rc4
v6.0-rc5
v6.0-rc6
v6.0-rc7
v6.1
v6.1-rc1
v6.1-rc2
v6.1-rc3
v6.1-rc4
v6.1-rc5
v6.1-rc6
v6.1-rc7
v6.1-rc8
v6.1.1
v6.1.10
v6.1.100
v6.1.101
v6.1.102
v6.1.103
v6.1.104
v6.1.105
v6.1.106
v6.1.107
v6.1.108
v6.1.109
v6.1.11
v6.1.110
v6.1.111
v6.1.112
v6.1.113
v6.1.114
v6.1.115
v6.1.116
v6.1.117
v6.1.118
v6.1.119
v6.1.12
v6.1.120
v6.1.121
v6.1.122
v6.1.123
v6.1.124
v6.1.125
v6.1.126
v6.1.127
v6.1.13
v6.1.14
v6.1.15
v6.1.16
v6.1.17
v6.1.18
v6.1.19
v6.1.2
v6.1.20
v6.1.21
v6.1.22
v6.1.23
v6.1.24
v6.1.25
v6.1.26
v6.1.27
v6.1.28
v6.1.29
v6.1.3
v6.1.30
v6.1.31
v6.1.32
v6.1.33
v6.1.34
v6.1.35
v6.1.36
v6.1.37
v6.1.38
v6.1.39
v6.1.4
v6.1.40
v6.1.41
v6.1.42
v6.1.43
v6.1.44
v6.1.45
v6.1.46
v6.1.47
v6.1.48
v6.1.49
v6.1.5
v6.1.50
v6.1.51
v6.1.52
v6.1.53
v6.1.54
v6.1.55
v6.1.56
v6.1.57
v6.1.58
v6.1.59
v6.1.6
v6.1.60
v6.1.61
v6.1.62
v6.1.63
v6.1.64
v6.1.65
v6.1.66
v6.1.67
v6.1.68
v6.1.69
v6.1.7
v6.1.70
v6.1.71
v6.1.72
v6.1.73
v6.1.74
v6.1.75
v6.1.76
v6.1.77
v6.1.78
v6.1.79
v6.1.8
v6.1.80
v6.1.81
v6.1.82
v6.1.83
v6.1.84
v6.1.85
v6.1.86
v6.1.87
v6.1.88
v6.1.89
v6.1.9
v6.1.90
v6.1.91
v6.1.92
v6.1.93
v6.1.94
v6.1.95
v6.1.96
v6.1.97
v6.1.98
v6.1.99
v6.10
v6.10-rc1
v6.10-rc2
v6.10-rc3
v6.10-rc4
v6.10-rc5
v6.10-rc6
v6.10-rc7
v6.10.1
v6.10.10
v6.10.11
v6.10.12
v6.10.13
v6.10.2
v6.10.3
v6.10.4
v6.10.5
v6.10.6
v6.10.7
v6.10.8
v6.10.9
v6.11
v6.11-rc1
v6.11-rc2
v6.11-rc3
v6.11-rc4
v6.11-rc5
v6.11-rc6
v6.11-rc7
v6.11.1
v6.11.2
v6.2
v6.2-rc1
v6.2-rc2
v6.2-rc3
v6.2-rc4
v6.2-rc5
v6.2-rc6
v6.2-rc7
v6.2-rc8
v6.3
v6.3-rc1
v6.3-rc2
v6.3-rc3
v6.3-rc4
v6.3-rc5
v6.3-rc6
v6.3-rc7
v6.4
v6.4-rc1
v6.4-rc2
v6.4-rc3
v6.4-rc4
v6.4-rc5
v6.4-rc6
v6.4-rc7
v6.5
v6.5-rc1
v6.5-rc2
v6.5-rc3
v6.5-rc4
v6.5-rc5
v6.5-rc6
v6.5-rc7
v6.6
v6.6-rc1
v6.6-rc2
v6.6-rc3
v6.6-rc4
v6.6-rc5
v6.6-rc6
v6.6-rc7
v6.6.1
v6.6.10
v6.6.11
v6.6.12
v6.6.13
v6.6.14
v6.6.15
v6.6.16
v6.6.17
v6.6.18
v6.6.19
v6.6.2
v6.6.20
v6.6.21
v6.6.22
v6.6.23
v6.6.24
v6.6.25
v6.6.26
v6.6.27
v6.6.28
v6.6.29
v6.6.3
v6.6.30
v6.6.31
v6.6.32
v6.6.33
v6.6.34
v6.6.35
v6.6.36
v6.6.37
v6.6.38
v6.6.39
v6.6.4
v6.6.40
v6.6.41
v6.6.42
v6.6.43
v6.6.44
v6.6.45
v6.6.46
v6.6.47
v6.6.48
v6.6.49
v6.6.5
v6.6.50
v6.6.51
v6.6.52
v6.6.53
v6.6.54
v6.6.55
v6.6.56
v6.6.57
v6.6.58
v6.6.59
v6.6.6
v6.6.60
v6.6.61
v6.6.62
v6.6.63
v6.6.64
v6.6.65
v6.6.66
v6.6.67
v6.6.68
v6.6.69
v6.6.7
v6.6.70
v6.6.71
v6.6.72
v6.6.73
v6.6.74
v6.6.8
v6.6.9
v6.7
v6.7-rc1
v6.7-rc2
v6.7-rc3
v6.7-rc4
v6.7-rc5
v6.7-rc6
v6.7-rc7
v6.7-rc8
v6.8
v6.8-rc1
v6.8-rc2
v6.8-rc3
v6.8-rc4
v6.8-rc5
v6.8-rc6
v6.8-rc7
v6.9
v6.9-rc1
v6.9-rc2
v6.9-rc3
v6.9-rc4
v6.9-rc5
v6.9-rc6
v6.9-rc7

Database specific

vanir_signatures

[
    {
        "signature_type": "Function",
        "deprecated": false,
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@697ba0b6ec4ae04afb67d3911799b5e2043b4455",
        "signature_version": "v1",
        "target": {
            "function": "blk_ioctl_secure_erase",
            "file": "block/ioctl.c"
        },
        "digest": {
            "function_hash": "299341015742556330920275387799188926638",
            "length": 654.0
        },
        "id": "CVE-2024-49994-1433749c"
    },
    {
        "signature_type": "Function",
        "deprecated": false,
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@8476f8428e8b48fd7a0e4258fa2a96a8f4468239",
        "signature_version": "v1",
        "target": {
            "function": "blk_ioctl_secure_erase",
            "file": "block/ioctl.c"
        },
        "digest": {
            "function_hash": "328106195840500250542320504750875881274",
            "length": 673.0
        },
        "id": "CVE-2024-49994-14f1c5e4"
    },
    {
        "signature_type": "Line",
        "deprecated": false,
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@8476f8428e8b48fd7a0e4258fa2a96a8f4468239",
        "signature_version": "v1",
        "target": {
            "file": "block/ioctl.c"
        },
        "digest": {
            "threshold": 0.9,
            "line_hashes": [
                "31552065129629078178618074242479306106",
                "102872226355865714484310780790741098518",
                "172541664694080482614222022999233005222",
                "192803673397621658012185324645161895296",
                "167597048610036741387705322229170571015",
                "131040851861491656218734352869400571349",
                "229345161169686870650380274434211535667",
                "17762307734844234821171125748596628113",
                "331746091833300255726459421843807472651",
                "128636578213975548214318764066822361920",
                "284828377618447160398362767678892940896",
                "257509217598080959761465285588408585652",
                "122680224538669441477524266745388385541",
                "48197300666676898165020032060967221194",
                "277168345405332360552572391896107336395"
            ]
        },
        "id": "CVE-2024-49994-1ed64cf6"
    },
    {
        "signature_type": "Line",
        "deprecated": false,
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@697ba0b6ec4ae04afb67d3911799b5e2043b4455",
        "signature_version": "v1",
        "target": {
            "file": "block/ioctl.c"
        },
        "digest": {
            "threshold": 0.9,
            "line_hashes": [
                "239502578280670227048206993581673525084",
                "109685863821776842829657690469658749521",
                "264295397460436818618968326367236699106",
                "108239030319923390451337561827864819817",
                "80775402523237728329757385429019955903",
                "131040851861491656218734352869400571349",
                "229345161169686870650380274434211535667",
                "332843493128569802673438517131051514424",
                "331746091833300255726459421843807472651",
                "128636578213975548214318764066822361920",
                "304420477638764353862594941620016396345",
                "257439826535233346254604794325859923556",
                "222699837738325320177281791651154875786",
                "110146078337917258585550962523839718633",
                "277168345405332360552572391896107336395"
            ]
        },
        "id": "CVE-2024-49994-29e4558f"
    },
    {
        "signature_type": "Function",
        "deprecated": false,
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@0842ddd83939eb4db940b9af7d39e79722bc41aa",
        "signature_version": "v1",
        "target": {
            "function": "blk_ioctl_discard",
            "file": "block/ioctl.c"
        },
        "digest": {
            "function_hash": "7616305626622588231618629871413698871",
            "length": 1251.0
        },
        "id": "CVE-2024-49994-2d781a97"
    },
    {
        "signature_type": "Line",
        "deprecated": false,
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@0842ddd83939eb4db940b9af7d39e79722bc41aa",
        "signature_version": "v1",
        "target": {
            "file": "block/ioctl.c"
        },
        "digest": {
            "threshold": 0.9,
            "line_hashes": [
                "239502578280670227048206993581673525084",
                "109685863821776842829657690469658749521",
                "264295397460436818618968326367236699106",
                "108239030319923390451337561827864819817",
                "80775402523237728329757385429019955903",
                "131040851861491656218734352869400571349",
                "229345161169686870650380274434211535667",
                "332843493128569802673438517131051514424",
                "331746091833300255726459421843807472651",
                "128636578213975548214318764066822361920",
                "304420477638764353862594941620016396345",
                "257439826535233346254604794325859923556",
                "222699837738325320177281791651154875786",
                "110146078337917258585550962523839718633",
                "277168345405332360552572391896107336395"
            ]
        },
        "id": "CVE-2024-49994-363402a8"
    },
    {
        "signature_type": "Function",
        "deprecated": false,
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@6c9915fa9410cbb9bd75ee283c03120046c56d3d",
        "signature_version": "v1",
        "target": {
            "function": "blk_ioctl_discard",
            "file": "block/ioctl.c"
        },
        "digest": {
            "function_hash": "7616305626622588231618629871413698871",
            "length": 1251.0
        },
        "id": "CVE-2024-49994-503e523a"
    },
    {
        "signature_type": "Function",
        "deprecated": false,
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@8476f8428e8b48fd7a0e4258fa2a96a8f4468239",
        "signature_version": "v1",
        "target": {
            "function": "blk_ioctl_discard",
            "file": "block/ioctl.c"
        },
        "digest": {
            "function_hash": "286874675066385351450549715119745443170",
            "length": 763.0
        },
        "id": "CVE-2024-49994-52f89be7"
    },
    {
        "signature_type": "Function",
        "deprecated": false,
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@697ba0b6ec4ae04afb67d3911799b5e2043b4455",
        "signature_version": "v1",
        "target": {
            "function": "blk_ioctl_discard",
            "file": "block/ioctl.c"
        },
        "digest": {
            "function_hash": "7616305626622588231618629871413698871",
            "length": 1251.0
        },
        "id": "CVE-2024-49994-70831199"
    },
    {
        "signature_type": "Function",
        "deprecated": false,
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@6c9915fa9410cbb9bd75ee283c03120046c56d3d",
        "signature_version": "v1",
        "target": {
            "function": "blk_ioctl_secure_erase",
            "file": "block/ioctl.c"
        },
        "digest": {
            "function_hash": "299341015742556330920275387799188926638",
            "length": 654.0
        },
        "id": "CVE-2024-49994-826900cf"
    },
    {
        "signature_type": "Function",
        "deprecated": false,
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@0842ddd83939eb4db940b9af7d39e79722bc41aa",
        "signature_version": "v1",
        "target": {
            "function": "blk_ioctl_secure_erase",
            "file": "block/ioctl.c"
        },
        "digest": {
            "function_hash": "299341015742556330920275387799188926638",
            "length": 654.0
        },
        "id": "CVE-2024-49994-b0ed167e"
    },
    {
        "signature_type": "Function",
        "deprecated": false,
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a99bacb35c1416355eef957560e8fcac3a665549",
        "signature_version": "v1",
        "target": {
            "function": "blk_ioctl_secure_erase",
            "file": "block/ioctl.c"
        },
        "digest": {
            "function_hash": "130570413120801492039687029619428129746",
            "length": 676.0
        },
        "id": "CVE-2024-49994-d8e7e760"
    },
    {
        "signature_type": "Line",
        "deprecated": false,
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@6c9915fa9410cbb9bd75ee283c03120046c56d3d",
        "signature_version": "v1",
        "target": {
            "file": "block/ioctl.c"
        },
        "digest": {
            "threshold": 0.9,
            "line_hashes": [
                "239502578280670227048206993581673525084",
                "109685863821776842829657690469658749521",
                "264295397460436818618968326367236699106",
                "108239030319923390451337561827864819817",
                "80775402523237728329757385429019955903",
                "131040851861491656218734352869400571349",
                "229345161169686870650380274434211535667",
                "332843493128569802673438517131051514424",
                "331746091833300255726459421843807472651",
                "128636578213975548214318764066822361920",
                "304420477638764353862594941620016396345",
                "257439826535233346254604794325859923556",
                "222699837738325320177281791651154875786",
                "110146078337917258585550962523839718633",
                "277168345405332360552572391896107336395"
            ]
        },
        "id": "CVE-2024-49994-eb211353"
    },
    {
        "signature_type": "Function",
        "deprecated": false,
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a99bacb35c1416355eef957560e8fcac3a665549",
        "signature_version": "v1",
        "target": {
            "function": "blk_ioctl_discard",
            "file": "block/ioctl.c"
        },
        "digest": {
            "function_hash": "280923426945575890923862354987731636144",
            "length": 766.0
        },
        "id": "CVE-2024-49994-fc240c67"
    },
    {
        "signature_type": "Line",
        "deprecated": false,
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a99bacb35c1416355eef957560e8fcac3a665549",
        "signature_version": "v1",
        "target": {
            "file": "block/ioctl.c"
        },
        "digest": {
            "threshold": 0.9,
            "line_hashes": [
                "31552065129629078178618074242479306106",
                "102872226355865714484310780790741098518",
                "172541664694080482614222022999233005222",
                "192803673397621658012185324645161895296",
                "80775402523237728329757385429019955903",
                "131040851861491656218734352869400571349",
                "229345161169686870650380274434211535667",
                "332843493128569802673438517131051514424",
                "331746091833300255726459421843807472651",
                "128636578213975548214318764066822361920",
                "284828377618447160398362767678892940896",
                "257509217598080959761465285588408585652",
                "122680224538669441477524266745388385541",
                "48197300666676898165020032060967221194",
                "277168345405332360552572391896107336395"
            ]
        },
        "id": "CVE-2024-49994-fda84a9f"
    }
]

Linux / Kernel

Package

Name
Kernel

Affected ranges

Type
ECOSYSTEM
Events
Introduced
5.19.0
Fixed
6.1.128
Type
ECOSYSTEM
Events
Introduced
6.2.0
Fixed
6.6.75
Type
ECOSYSTEM
Events
Introduced
6.7.0
Fixed
6.10.14
Type
ECOSYSTEM
Events
Introduced
6.11.0
Fixed
6.11.3