Bug 2348103 (CVE-2022-49339) - CVE-2022-49339 kernel: net: ipv6: unexport __init-annotated seg6_hmac_init()
Summary: CVE-2022-49339 kernel: net: ipv6: unexport __init-annotated seg6_hmac_init()
Keywords:
Status: NEW
Alias: CVE-2022-49339
Product: Security Response
Classification: Other
Component: vulnerability
Version: unspecified
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Product Security DevOps Team
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2025-02-26 03:17 UTC by OSIDB Bzimport
Modified: 2025-02-27 18:32 UTC (History)
4 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed:
Embargoed:


Attachments (Terms of Use)

Description OSIDB Bzimport 2025-02-26 03:17:43 UTC
In the Linux kernel, the following vulnerability has been resolved:

net: ipv6: unexport __init-annotated seg6_hmac_init()

EXPORT_SYMBOL and __init is a bad combination because the .init.text
section is freed up after the initialization. Hence, modules cannot
use symbols annotated __init. The access to a freed symbol may end up
with kernel panic.

modpost used to detect it, but it has been broken for a decade.

Recently, I fixed modpost so it started to warn it again, then this
showed up in linux-next builds.

There are two ways to fix it:

  - Remove __init
  - Remove EXPORT_SYMBOL

I chose the latter for this case because the caller (net/ipv6/seg6.c)
and the callee (net/ipv6/seg6_hmac.c) belong to the same module.
It seems an internal function call in ipv6.ko.

Comment 3 Avinash Hanwate 2025-02-27 18:23:49 UTC
Upstream advisory:
https://lore.kernel.org/linux-cve-announce/2025022640-CVE-2022-49339-8220@gregkh/T


Note You need to log in before you can comment on or make changes to this bug.