{"id":"CVE-2021-47583","state":"PUBLISHED","title":"media: mxl111sf: change mutex_init() location","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nmedia: mxl111sf: change mutex_init() location\n\nSyzbot reported, that mxl111sf_ctrl_msg() uses uninitialized\nmutex. The problem was in wrong mutex_init() location.\n\nPrevious mutex_init(&state->msg_lock) call was in ->init() function, but\ndvb_usbv2_init() has this order of calls:\n\n\tdvb_usbv2_init()\n\t  dvb_usbv2_adapter_init()\n\t    dvb_usbv2_adapter_frontend_init()\n\t      props->frontend_attach()\n\n\t  props->init()\n\nSince mxl111sf_* devices call mxl111sf_ctrl_msg() in ->frontend_attach()\ninternally we need to initialize state->msg_lock before\nfrontend_attach(). To achieve it, ->probe() call added to all mxl111sf_*\ndevices, which will simply initiaize mutex.","publishedAt":"2024-06-19T14:53:49.459Z","updatedAt":"2026-05-11T13:57:21.119Z","severity":null,"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"8572211842afc53c8450fb470f2b8d02ba7592e0","status":"affected","lessThan":"4b2d9600b31f9ba7adbc9f3c54a068615d27b390","versionType":"git"},{"version":"8572211842afc53c8450fb470f2b8d02ba7592e0","status":"affected","lessThan":"96f182c9f48b984447741f054ec301fdc8517035","versionType":"git"},{"version":"8572211842afc53c8450fb470f2b8d02ba7592e0","status":"affected","lessThan":"b99bdf127af91d53919e96292c05f737c45ea59a","versionType":"git"},{"version":"8572211842afc53c8450fb470f2b8d02ba7592e0","status":"affected","lessThan":"8c6fdf62bfe1bc72bfceeaf832ef7499c7ed09ba","versionType":"git"},{"version":"8572211842afc53c8450fb470f2b8d02ba7592e0","status":"affected","lessThan":"44870a9e7a3c24acbb3f888b2a7cc22c9bdf7e7f","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/media/usb/dvb-usb-v2/mxl111sf.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"3.7","status":"affected"},{"version":"0","status":"unaffected","lessThan":"3.7","versionType":"semver"},{"version":"4.19.222","status":"unaffected","lessThanOrEqual":"4.19.*","versionType":"semver"},{"version":"5.4.168","status":"unaffected","lessThanOrEqual":"5.4.*","versionType":"semver"},{"version":"5.10.88","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.11","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"5.16","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/media/usb/dvb-usb-v2/mxl111sf.c"]}],"references":["https://git.kernel.org/stable/c/4b2d9600b31f9ba7adbc9f3c54a068615d27b390","https://git.kernel.org/stable/c/96f182c9f48b984447741f054ec301fdc8517035","https://git.kernel.org/stable/c/b99bdf127af91d53919e96292c05f737c45ea59a","https://git.kernel.org/stable/c/8c6fdf62bfe1bc72bfceeaf832ef7499c7ed09ba","https://git.kernel.org/stable/c/44870a9e7a3c24acbb3f888b2a7cc22c9bdf7e7f"],"weaknesses":[],"ingestedAt":"2026-10-29T19:49:19.404Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2021/47xxx/CVE-2021-47583.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2021-47583","state":"PUBLISHED","datePublished":"2024-06-19T14:53:49.459Z","dateUpdated":"2026-05-11T13:57:21.119Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2024-05-24T15:11:00.731Z"},"containers":{"cna":{"title":"media: mxl111sf: change mutex_init() location","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nmedia: mxl111sf: change mutex_init() location\n\nSyzbot reported, that mxl111sf_ctrl_msg() uses uninitialized\nmutex. The problem was in wrong mutex_init() location.\n\nPrevious mutex_init(&state->msg_lock) call was in ->init() function, but\ndvb_usbv2_init() has this order of calls:\n\n\tdvb_usbv2_init()\n\t  dvb_usbv2_adapter_init()\n\t    dvb_usbv2_adapter_frontend_init()\n\t      props->frontend_attach()\n\n\t  props->init()\n\nSince mxl111sf_* devices call mxl111sf_ctrl_msg() in ->frontend_attach()\ninternally we need to initialize state->msg_lock before\nfrontend_attach(). To achieve it, ->probe() call added to all mxl111sf_*\ndevices, which will simply initiaize mutex."}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"8572211842afc53c8450fb470f2b8d02ba7592e0","status":"affected","lessThan":"4b2d9600b31f9ba7adbc9f3c54a068615d27b390","versionType":"git"},{"version":"8572211842afc53c8450fb470f2b8d02ba7592e0","status":"affected","lessThan":"96f182c9f48b984447741f054ec301fdc8517035","versionType":"git"},{"version":"8572211842afc53c8450fb470f2b8d02ba7592e0","status":"affected","lessThan":"b99bdf127af91d53919e96292c05f737c45ea59a","versionType":"git"},{"version":"8572211842afc53c8450fb470f2b8d02ba7592e0","status":"affected","lessThan":"8c6fdf62bfe1bc72bfceeaf832ef7499c7ed09ba","versionType":"git"},{"version":"8572211842afc53c8450fb470f2b8d02ba7592e0","status":"affected","lessThan":"44870a9e7a3c24acbb3f888b2a7cc22c9bdf7e7f","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/media/usb/dvb-usb-v2/mxl111sf.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"3.7","status":"affected"},{"version":"0","status":"unaffected","lessThan":"3.7","versionType":"semver"},{"version":"4.19.222","status":"unaffected","lessThanOrEqual":"4.19.*","versionType":"semver"},{"version":"5.4.168","status":"unaffected","lessThanOrEqual":"5.4.*","versionType":"semver"},{"version":"5.10.88","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.11","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"5.16","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/media/usb/dvb-usb-v2/mxl111sf.c"]}],"references":[{"url":"https://git.kernel.org/stable/c/4b2d9600b31f9ba7adbc9f3c54a068615d27b390"},{"url":"https://git.kernel.org/stable/c/96f182c9f48b984447741f054ec301fdc8517035"},{"url":"https://git.kernel.org/stable/c/b99bdf127af91d53919e96292c05f737c45ea59a"},{"url":"https://git.kernel.org/stable/c/8c6fdf62bfe1bc72bfceeaf832ef7499c7ed09ba"},{"url":"https://git.kernel.org/stable/c/44870a9e7a3c24acbb3f888b2a7cc22c9bdf7e7f"}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-05-11T13:57:21.119Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.7","versionEndExcluding":"4.19.222"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.7","versionEndExcluding":"5.4.168"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.7","versionEndExcluding":"5.10.88"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.7","versionEndExcluding":"5.15.11"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.7","versionEndExcluding":"5.16"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}},"adp":[{"title":"CISA ADP Vulnrichment","metrics":[{"other":{"type":"ssvc","content":{"timestamp":"2024-06-24T18:10:30.676527Z","id":"CVE-2021-47583","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"partial"}],"role":"CISA Coordinator","version":"2.0.3"}}}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2024-06-24T18:10:38.381Z"}},{"title":"CVE Program Container","references":[{"url":"https://git.kernel.org/stable/c/4b2d9600b31f9ba7adbc9f3c54a068615d27b390","tags":["x_transferred"]},{"url":"https://git.kernel.org/stable/c/96f182c9f48b984447741f054ec301fdc8517035","tags":["x_transferred"]},{"url":"https://git.kernel.org/stable/c/b99bdf127af91d53919e96292c05f737c45ea59a","tags":["x_transferred"]},{"url":"https://git.kernel.org/stable/c/8c6fdf62bfe1bc72bfceeaf832ef7499c7ed09ba","tags":["x_transferred"]},{"url":"https://git.kernel.org/stable/c/44870a9e7a3c24acbb3f888b2a7cc22c9bdf7e7f","tags":["x_transferred"]}],"providerMetadata":{"shortName":"CVE","orgId":"af854a3a-2127-422b-91ae-364da2661108","dateUpdated":"2024-08-04T05:39:59.828Z"}}]}}}