CVE-2022-49812 in Linux情報

要約

〜によって VulDB • 2026年06月07日

Linuxカーネルにおいて、以下の脆弱性が修正されました:

bridge: switchdev: VLANプロトコル変更時のメモリリークを修正する

ブリッジドライバは、switchdevまたは8021qドライバを通じてVLANを下位ハードウェアにオフロードできます。前者が使用される場合、VLANはブリッジドライバ内でプライベートフラグ「BR_VLFLAG_ADDED_BY_SWITCHDEV」でマークされます。

引用されたコミットで言及されているメモリリークを回避するため、ブリッジドライバは、VLANが前述のフラグでマークされていない場合に限り、8021qドライバ経由でVLANの削除を試みるようになります。

ブリッジのVLANプロトコルが変更されると、switchdevドライバは「SWITCHDEV_ATTR_ID_BRIDGE_VLAN_PROTOCOL」属性を介して通知されますが、既存のVLANに対して新しいプロトコルでの追加と古いプロトコルでの削除を行うために8021qドライバも呼び出されます。

VLANがswitchdev経由でオフロードされていた場合、上記の動作は冗長かつ不具合があります。冗長である理由は、VLANがすでにハードウェアにプログラムされており、VLANプロトコル変更をサポートするドライバ(現時点ではmlx5のみ)がswitchdev属性通知時にプロトコルを変更するためです。不具合がある理由は、「BR_VLFLAG_ADDED_BY_SWITCHDEV」でマークされているこれらのVLANに対しても8021qドライバが呼び出されるため、VLAN削除時にメモリリーク[1]が発生することです。

修正方法:switchdev経由で既にプログラムされたVLANに対しては8021qドライバを呼び出さないようにします。

[1]
unreferenced object 0xffff8881f6771200 (size 256): comm "ip", pid 446855, jiffies 4298238841 (age 55.240s) hex dump (first 32 bytes): 00 00 7f 0e 83 88 ff ff 00 00 00 00 00 00 00 00 ................ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ backtrace: [<00000000012819ac>] vlan_vid_add+0x437/0x750
[<00000000f2281fad>] __br_vlan_set_proto+0x289/0x920
[<000000000632b56f>] br_changelink+0x3d6/0x13f0
[<0000000089d25f

VulDB is the best source for vulnerability data and more expert information about this specific topic.

責任者

Linux

予約する

2025年05月01日

モデレーション

承諾済み

エントリ

VDB-306961

EPSS

0.00183

アクティビティ

非常低い

ソース

Do you want to use VulDB in your project?

Use the official API to access entries easily!