In the Linux kernel, the following vulnerability has been resolved:
iommu/omap: Fix buffer overflow in debugfs
There are two issues here:
1) The "len" variable needs to be checked before the very first write. Otherwise if omap2iommudump_ctx() with "bytes" less than 32 it is a buffer overflow. 2) The snprintf() function returns the number of bytes that would have been copied if there were enough space. But we want to know the number of bytes which were actually copied so use scnprintf() instead.
[
{
"deprecated": false,
"id": "CVE-2022-50301-0c316060",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@0c7043a5b5c3b35f5dc8875757f71e7f491d64d4",
"signature_version": "v1",
"target": {
"file": "drivers/iommu/omap-iommu-debug.c"
},
"signature_type": "Line",
"digest": {
"line_hashes": [
"37254531989908173720557555851040828344",
"157207242614565817345801155812485174517",
"187378456466833363355774848400489560971",
"283479652431768585705868184622200347467",
"248467889802109894267945486929148234621",
"112441729766055784110736772791525877627",
"78477950399763916452271794584351261620",
"233391732573187705984684547618484260604",
"237218472562963840068398268587969693341"
],
"threshold": 0.9
}
},
{
"deprecated": false,
"id": "CVE-2022-50301-31f1e286",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@9814cc350e0765ce69244bf55ae4c8b29facd27e",
"signature_version": "v1",
"target": {
"file": "drivers/iommu/omap-iommu-debug.c"
},
"signature_type": "Line",
"digest": {
"line_hashes": [
"37254531989908173720557555851040828344",
"157207242614565817345801155812485174517",
"187378456466833363355774848400489560971",
"283479652431768585705868184622200347467",
"248467889802109894267945486929148234621",
"112441729766055784110736772791525877627",
"78477950399763916452271794584351261620",
"233391732573187705984684547618484260604",
"237218472562963840068398268587969693341"
],
"threshold": 0.9
}
},
{
"deprecated": false,
"id": "CVE-2022-50301-59220a53",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@bd0438f534b2e31b12f0b39b355c5dc2bbdaf854",
"signature_version": "v1",
"target": {
"file": "drivers/iommu/omap-iommu-debug.c"
},
"signature_type": "Line",
"digest": {
"line_hashes": [
"37254531989908173720557555851040828344",
"157207242614565817345801155812485174517",
"187378456466833363355774848400489560971",
"283479652431768585705868184622200347467",
"248467889802109894267945486929148234621",
"112441729766055784110736772791525877627",
"78477950399763916452271794584351261620",
"233391732573187705984684547618484260604",
"237218472562963840068398268587969693341"
],
"threshold": 0.9
}
},
{
"deprecated": false,
"id": "CVE-2022-50301-a809450f",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@706e359cf046c142db290244c3f4938b20fbe805",
"signature_version": "v1",
"target": {
"file": "drivers/iommu/omap-iommu-debug.c"
},
"signature_type": "Line",
"digest": {
"line_hashes": [
"37254531989908173720557555851040828344",
"157207242614565817345801155812485174517",
"187378456466833363355774848400489560971",
"283479652431768585705868184622200347467",
"248467889802109894267945486929148234621",
"112441729766055784110736772791525877627",
"78477950399763916452271794584351261620",
"233391732573187705984684547618484260604",
"237218472562963840068398268587969693341"
],
"threshold": 0.9
}
},
{
"deprecated": false,
"id": "CVE-2022-50301-b6388e78",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@2fee0dbfaeaaa4bda04279ce772c4572b1429d04",
"signature_version": "v1",
"target": {
"file": "drivers/iommu/omap-iommu-debug.c"
},
"signature_type": "Line",
"digest": {
"line_hashes": [
"37254531989908173720557555851040828344",
"157207242614565817345801155812485174517",
"187378456466833363355774848400489560971",
"283479652431768585705868184622200347467",
"248467889802109894267945486929148234621",
"112441729766055784110736772791525877627",
"78477950399763916452271794584351261620",
"233391732573187705984684547618484260604",
"237218472562963840068398268587969693341"
],
"threshold": 0.9
}
},
{
"deprecated": false,
"id": "CVE-2022-50301-d9e72049",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@184233a5202786b20220acd2d04ddf909ef18f29",
"signature_version": "v1",
"target": {
"file": "drivers/iommu/omap-iommu-debug.c"
},
"signature_type": "Line",
"digest": {
"line_hashes": [
"37254531989908173720557555851040828344",
"157207242614565817345801155812485174517",
"187378456466833363355774848400489560971",
"283479652431768585705868184622200347467",
"248467889802109894267945486929148234621",
"112441729766055784110736772791525877627",
"78477950399763916452271794584351261620",
"233391732573187705984684547618484260604",
"237218472562963840068398268587969693341"
],
"threshold": 0.9
}
},
{
"deprecated": false,
"id": "CVE-2022-50301-e3463946",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@648472df221f2bbffb433b964bcb87baccc586d8",
"signature_version": "v1",
"target": {
"file": "drivers/iommu/omap-iommu-debug.c"
},
"signature_type": "Line",
"digest": {
"line_hashes": [
"37254531989908173720557555851040828344",
"157207242614565817345801155812485174517",
"187378456466833363355774848400489560971",
"283479652431768585705868184622200347467",
"248467889802109894267945486929148234621",
"112441729766055784110736772791525877627",
"78477950399763916452271794584351261620",
"233391732573187705984684547618484260604",
"237218472562963840068398268587969693341"
],
"threshold": 0.9
}
},
{
"deprecated": false,
"id": "CVE-2022-50301-efc040e4",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@ec53b99b6b9da8b501f001595a6260c03b42d5b7",
"signature_version": "v1",
"target": {
"file": "drivers/iommu/omap-iommu-debug.c"
},
"signature_type": "Line",
"digest": {
"line_hashes": [
"37254531989908173720557555851040828344",
"157207242614565817345801155812485174517",
"187378456466833363355774848400489560971",
"283479652431768585705868184622200347467",
"248467889802109894267945486929148234621",
"112441729766055784110736772791525877627",
"78477950399763916452271794584351261620",
"233391732573187705984684547618484260604",
"237218472562963840068398268587969693341"
],
"threshold": 0.9
}
},
{
"deprecated": false,
"id": "CVE-2022-50301-f8432dcd",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@4010a1afaae1c0fb9c2cac5de703bed29b1f1782",
"signature_version": "v1",
"target": {
"file": "drivers/iommu/omap-iommu-debug.c"
},
"signature_type": "Line",
"digest": {
"line_hashes": [
"37254531989908173720557555851040828344",
"157207242614565817345801155812485174517",
"187378456466833363355774848400489560971",
"283479652431768585705868184622200347467",
"248467889802109894267945486929148234621",
"112441729766055784110736772791525877627",
"78477950399763916452271794584351261620",
"233391732573187705984684547618484260604",
"237218472562963840068398268587969693341"
],
"threshold": 0.9
}
}
]