В ядре Linux устранена следующая уязвимость: net: hns3: не разрешать повторный вызов hns3_nic_net_open. hns3_nic_net_open() нельзя вызывать…
В ядре Linux устранена следующая уязвимость: net: hns3: не разрешать повторный вызов hns3_nic_net_open. hns3_nic_net_open() нельзя вызывать повторно, но для этого нет проверки. При одновременном выполнении сброса устройства и настройки tc существует небольшая возможность повторного вызова hns3_nic_net_open и вызова ошибки ядра из-за двойного вызова napi_enable. Информация о трассировке вызовов выглядит следующим образом: [ 3078.222780] ------------[ cut here ]------------ [ 3078.230255] kernel BUG at net/core/dev.c:6991! [ 3078.236224] Internal error: Oops - BUG: 0 [#1] PREEMPT SMP [ 3078.243431] Modules linked in: hns3 hclgevf hclge hnae3 vfio_iommu_type1 vfio_pci vfio_virqfd vfio pv680_mii(O) [ 3078.258880] CPU: 0 PID: 295 Comm: kworker/u8:5 Tainted: G O 5.14.0-rc4+ #1 [ 3078.269102] Hardware name: , BIOS KpxxxFPGA 1P B600 V181 08/12/2021 [ 3078.276801] Workqueue: hclge hclge_service_task [hclge] [ 3078.288774] pstate: 60400009 (nZCv daif +PAN -UAO -TCO BTYPE=--) [ 3078.296168] pc : napi_enable+0x80/0x84 tc qdisc sho[w 3d0e7v8 .e3t0h218 79] lr : hns3_nic_net_open+0x138/0x510 [hns3] [ 3078.314771] sp : ffff8000108abb20 [ 3078.319099] x29: ffff8000108abb20 x28: 0000000000000000 x27: ffff0820a8490300 [ 3078.329121] x26: 0000000000000001 x25: ffff08209cfc6200 x24: 0000000000000000 [ 3078.339044] x23: ffff0820a8490300 x22: ffff08209cd76000 x21: ffff0820abfe3880 [ 3078.349018] x20: 0000000000000000 x19: ffff08209cd76900 x18: 0000000000000000 [ 3078.358620] x17: 0000000000000000 x16: ffffc816e1727a50 x15: 0000ffff8f4ff930 [ 3078.368895] x14: 0000000000000000 x13: 0000000000000000 x12: 0000259e9dbeb6b4 [ 3078.377987] x11: 0096a8f7e764eb40 x10: 634615ad28d3eab5 x9 : ffffc816ad8885b8 [ 3078.387091] x8 : ffff08209cfc6fb8 x7 : ffff0820ac0da058 x6 : ffff0820a8490344 [ 3078.396356] x5 : 0000000000000140 x4 : 0000000000000003 x3 : ffff08209cd76938 [ 3078.405365] x2 : 0000000000000000 x1 : 0000000000000010 x0 : ffff0820abfe38a0 [ 3078.414657] Call trace: [ 3078.418517] napi_enable+0x80/0x84 [ 3078.424626] hns3_reset_notify_up_enet+0x78/0xd0 [hns3] [ 3078.433469] hns3_reset_notify+0x64/0x80 [hns3] [ 3078.441430] hclge_notify_client+0x68/0xb0 [hclge] [ 3078.450511] hclge_reset_rebuild+0x524/0x884 [hclge] [ 3078.458879] hclge_reset_service_task+0x3c4/0x680 [hclge] [ 3078.467470] hclge_service_task+0xb0/0xb54 [hclge] [ 3078.475675] process_one_work+0x1dc/0x48c [ 3078.481888] worker_thread+0x15c/0x464 [ 3078.487104] kthread+0x160/0x170 [ 3078.492479] ret_from_fork+0x10/0x18 [ 3078.498785] Code: c8027c81 35ffffa2 d50323bf d65f03c0 (d4210000) [ 3078.506889] ---[ end trace 8ebe0340a1b0fb44 ]--- После успешного выполнения hns3_nic_net_open() флаг HNS3_NIC_STATE_DOWN будет снят. Поэтому добавьте проверку этого флага, и возвращайтесь напрямую, если HNS3_NIC_STATE_DOWN не установлен.
Программный продукт не поддерживает или некорректно поддерживает управление ресурсом на всём протяжении его жизненного цикла: создания, использования и освобождения.
https://cwe.mitre.org/data/definitions/664.html →Открыть в коллекции CWE →Нет описания.
https://capec.mitre.org/data/definitions/21.html →Открыть в коллекции CAPEC →Данная атака направлена на повторное использование действительного идентификатора сеанса для подделки личности в целевой системе и получения привилегий. Злоумышленник пытается повторно использовать похищенный идентификатор сеанса, применявшийся ранее в транзакции, для подделки личности и перехвата сеанса. Другое название этого типа атаки — воспроизведение сеанса.
https://capec.mitre.org/data/definitions/60.html →Открыть в коллекции CAPEC →Злоумышленник вынуждает клиента установить сеанс с целевым программным обеспечением, используя идентификатор сеанса, предоставленный злоумышленником. После успешной аутентификации пользователя в целевом программном обеспечении злоумышленник использует (теперь уже привилегированный) идентификатор сеанса в собственных транзакциях. Данная атака эксплуатирует тот факт, что целевое программное обеспечение либо полагается на идентификаторы сеанса, генерируемые клиентом, либо сохраняет прежние идентификаторы сеанса после повышения привилегий.
https://capec.mitre.org/data/definitions/61.html →Открыть в коллекции CAPEC →Злоумышленник создаёт вредоносные веб-ссылки и распространяет их (через веб-страницы, электронную почту и т. п.), как правило, целенаправленно, рассчитывая побудить пользователей перейти по ссылке и выполнить вредоносное действие в отношении стороннего приложения. В случае успеха действие, встроенное во вредоносную ссылку, будет обработано и принято целевым приложением с уровнем привилегий пользователя. Данный тип атаки эксплуатирует постоянство и неявное доверие к сеансовым cookie-файлам пользователей, на которые опираются многие современные веб-приложения. В такой архитектуре после аутентификации пользователя в приложении и создания сеансового cookie-файла в его системе все последующие транзакции в рамках сеанса аутентифицируются с использованием этого cookie-файла, включая потенциальные действия, инициированные злоумышленником и просто «эксплуатирующие» существующий сеансовый cookie.
https://capec.mitre.org/data/definitions/62.html →Открыть в коллекции CAPEC →Злоумышленник создаёт ложные, но функционирующие учётные данные сессии для получения или захвата доступа к сервису. Учётные данные сессии позволяют пользователям идентифицировать себя в сервисе после первоначальной аутентификации, не отправляя аутентификационную информацию (как правило, имя пользователя и пароль) с каждым сообщением. Если злоумышленник способен подделать действительные учётные данные сессии, он может обойти аутентификацию или воспользоваться сессией какого-либо аутентифицированного пользователя. Данная атака отличается от атак с повторным использованием идентификатора сессии и перехвата сессии тем, что в последних злоумышленник использует предыдущие или существующие учётные данные без изменений, тогда как при подделке злоумышленник должен создать собственные учётные данные, хотя они могут быть основаны на ранее наблюдавшихся учётных данных.
https://capec.mitre.org/data/definitions/196.html →Открыть в коллекции CAPEC →| Продукт | Вендор | Статус |
|---|---|---|
| kernel | Отслеживается | |
| kernel | Отслеживается | |
| kernel | Отслеживается | |
| kernel-rt | Отслеживается | |
| linux | Отслеживается | |
| linux | Отслеживается | |
| linux | Отслеживается | |
| linux | Отслеживается | |
| linux | Отслеживается | |
| linux | Отслеживается | |
| linux | Отслеживается | |
| linux | Отслеживается | |
| linux | Отслеживается | |
| linux | Отслеживается | |
| linux | Отслеживается | |
| linux | Отслеживается | |
| linux | Отслеживается | |
| linux | Отслеживается | |
| linux | Отслеживается | |
| linux | Отслеживается |