Description
In the Linux kernel, the following vulnerability has been resolved: genetlink: fix genl_bind() invoking bind() after -EPERM Per family bind/unbind callbacks were introduced to allow families to track multicast group consumer presence, e.g. to start or stop producing events depending on listeners. However, in genl_bind() the bind() callback was invoked even if capability checks failed and ret was set to -EPERM. This means that callbacks could run on behalf of unauthorized callers while the syscall still returned failure to user space. Fix this by only invoking bind() after "if (ret) break;" check i.e. after permission checks have succeeded.
Product status
3de21a8990d3c2cc507e9cc4ed00f36358d5b93e (git) before 98c9d884047a3051c203708914a874dece3cbe54
3de21a8990d3c2cc507e9cc4ed00f36358d5b93e (git) before 8858c1e9405906c09589d7c336f04058ea198207
3de21a8990d3c2cc507e9cc4ed00f36358d5b93e (git) before 1dbfb0363224f6da56f6655d596dc5097308d6f5
6.9
Any version before 6.9
6.12.48 (semver)
6.16.8 (semver)
6.17 (original_commit_for_fix)
References
git.kernel.org/...c/98c9d884047a3051c203708914a874dece3cbe54
git.kernel.org/...c/8858c1e9405906c09589d7c336f04058ea198207
git.kernel.org/...c/1dbfb0363224f6da56f6655d596dc5097308d6f5