V
Сканер-ВСкаталог уязвимостей · v4.2
CAPEC-140СтандартЧерновик
Абстракция: Стандарт
Статус: Черновик
Источник ↗

Обход промежуточных форм в многошаговых наборах форм

Некоторые веб-приложения требуют от пользователей поэтапной отправки информации через упорядоченную последовательность веб-форм. Это нередко применяется при сборе большого объёма информации или когда данные из предыдущих форм используются для предварительного заполнения полей или определения того, какие дополнительные сведения необходимо собрать. Злоумышленник, знающий имена различных форм в последовательности, может явно ввести имя более поздней формы и перейти к ней, минуя предыдущие. Это может привести к неполному сбору информации, ошибочным допущениям о данных, отправленных злоумышленником, или иным проблемам, нарушающим функционирование приложения.

Открыть в каталоге с фильтром CAPEC →

Связанные уязвимости

CVE-2024-22590TLS-движок в Kwik commit 745fd4e2 не отслеживает текущее состояние соединения. Эта уязвимость может позволить сообщениям Client Hello быть перезаписанными в любой момент, включая после установления соединения.
CVE-2023-4012ntpd аварийно завершит работу, если сервер не поддерживает NTS (нет сертификата) и получает запрос клиента с поддержкой NTS (режим 3).
CVE-2020-27222В Eclipse Californium версий с 2.3.0 по 2.6.0 рукопожатия DTLS на основе сертификатов (x509 и RPK) случайно завершаются неудачно, поскольку серверная часть DTLS придерживается неправильного внутреннего состояния. Это неправильное внутреннее состояние устанавливается предыдущим сбоем рукопожатия DTLS на основе сертификатов с несоответствием параметров TLS. Серверную часть DTLS необходимо перезапустить, чтобы восстановить это. Это позволяет клиентам принудительно выполнять DoS.
CVE-2023-36834Уязвимость Incomplete Internal State Distinction в механизме пересылки пакетов (PFE) Juniper Networks Junos OS на сериях SRX 4600 и SRX 5000 позволяет смежному злоумышленнику вызвать отказ в обслуживании (DoS). Если SRX настроен в прозрачном режиме L2, получение определенного подлинного пакета может привести к тому, что один компонент Packet Processing Engines (PPE) PFE войдет в цикл, что, в свою очередь, сделает PPE недоступным. Каждый пакет будет приводить к тому, что один PPE будет входить в цикл, что приведет к постепенному ухудшению производительности до тех пор, пока все PPE не станут недоступными и вся обработка трафика не прекратится. Для восстановления необходимо перезапустить затронутый FPC. Эта проблема затрагивает Juniper Networks Junos OS на сериях SRX 4600 и SRX 5000: версия 20.1 20.1R1 и более поздние версии; версии 20.2 до 20.2R3-S7; версия 20.3 20.3R1 и более поздние версии; версии 20.4 до 20.4R3-S7; версии 21.1 до 21.1R3-S5; версии 21.2 до 21.2R3-S3; версии 21.3 до 21.3R3-S3; версии 21.4 до 21.4R3-S1; версии 22.1 до 22.1R3; версии 22.2 до 22.2R2; версии 22.3 до 22.3R1-S1, 22.3R2.
CVE-2021-25735В kube-apiserver обнаружена проблема безопасности, которая может позволить обновлениям узлов обходить Validating Admission Webhook. Эта уязвимость затрагивает кластеры только в том случае, если они запускают Validating Admission Webhook для узлов, который отклоняет прием на основе, по крайней мере, частично, старого состояния объекта узла. Validating Admission Webhook не учитывает некоторые предыдущие поля.
CVE-2024-42124В ядре Linux устранена следующая уязвимость: scsi: qedf: Сделать qedf_execute_tmf() не вытесняемой. Прекратите вызывать smp_processor_id() из вытесняемого кода в qedf_execute_tmf. Это приводит к BUG_ON() при запуске ядра RT. [ 659.343280] BUG: using smp_processor_id() in preemptible [00000000] code: sg_reset/3646 [ 659.343282] caller is qedf_execute_tmf+0x8b/0x360 [qedf]
CVE-2024-42110В ядре Linux устранена следующая уязвимость: net: ntb_netdev: Переместить ntb_netdev_rx_handler() для вызова netif_rx() из __netif_rx(). Следующее выводится при использовании idxd (DSA) dmanegine в качестве средства перемещения данных для ntb_transport, который использует ntb_netdev. [74412.546922] BUG: using smp_processor_id() in preemptible [00000000] code: irq/52-idxd-por/14526 [74412.556784] caller is netif_rx_internal+0x42/0x130 [74412.562282] CPU: 6 PID: 14526 Comm: irq/52-idxd-por Not tainted 6.9.5 #5 [74412.569870] Hardware name: Intel Corporation ArcherCity/ArcherCity, BIOS EGSDCRB1.E9I.1752.P05.2402080856 02/08/2024 [74412.581699] Call Trace: [74412.584514] <TASK> [74412.586933] dump_stack_lvl+0x55/0x70 [74412.591129] check_preemption_disabled+0xc8/0xf0 [74412.596374] netif_rx_internal+0x42/0x130 [74412.600957] __netif_rx+0x20/0xd0 [74412.604743] ntb_netdev_rx_handler+0x66/0x150 [ntb_netdev] [74412.610985] ntb_complete_rxc+0xed/0x140 [ntb_transport] [74412.617010] ntb_rx_copy_callback+0x53/0x80 [ntb_transport] [74412.623332] idxd_dma_complete_txd+0xe3/0x160 [idxd] [74412.628963] idxd_wq_thread+0x1a6/0x2b0 [idxd] [74412.634046] irq_thread_fn+0x21/0x60 [74412.638134] ? irq_thread+0xa8/0x290 [74412.642218] irq_thread+0x1a0/0x290 [74412.646212] ? __pfx_irq_thread_fn+0x10/0x10 [74412.651071] ? __pfx_irq_thread_dtor+0x10/0x10 [74412.656117] ? __pfx_irq_thread+0x10/0x10 [74412.660686] kthread+0x100/0x130 [74412.664384] ? __pfx_kthread+0x10/0x10 [74412.668639] ret_from_fork+0x31/0x50 [74412.672716] ? __pfx_kthread+0x10/0x10 [74412.676978] ret_from_fork_asm+0x1a/0x30 [74412.681457] </TASK> Причина в том, что обработчик завершения прерывания драйвера idxd использует потоковое прерывание, и потоковый обработчик не является контекстом жесткого или программного прерывания. Однако __netif_rx() можно вызывать только из контекста прерывания. Измените вызов на netif_rx(), чтобы разрешить завершение через нормальный контекст для драйверов dmaengine, которые используют потоковую обработку irq. В то время как следующий коммит изменил netif_rx() на __netif_rx(), baebdf48c360 ("net: dev: Makes sure netif_rx() can be invoked in any context."), изменение должно было быть noop вместо этого. Однако код, предшествующий этому исправлению, должен был использовать netif_rx_ni() или netif_rx_any_context().
CVE-2022-48653В ядре Linux устранена следующая уязвимость: ice: Не отключайте aux дважды при сбросе, инициированном пиром. В обратном вызове IDC, к которому осуществляется доступ, когда драйверы aux запрашивают сброс, вызывается функция для отключения устройств aux. Эта функция также вызывается в функции ice_prepare_for_reset. Этот двойной вызов вызывает ошибку "scheduling while atomic". [ 662.676430] ice 0000:4c:00.0 rocep76s0: cqp opcode = 0x1 maj_err_code = 0xffff min_err_code = 0x8003 [ 662.676609] ice 0000:4c:00.0 rocep76s0: [Modify QP Cmd Error][op_code=8] status=-29 waiting=1 completion_err=1 maj=0xffff min=0x8003 [ 662.815006] ice 0000:4c:00.0 rocep76s0: ICE OICR event notification: oicr = 0x10000003 [ 662.815014] ice 0000:4c:00.0 rocep76s0: critical PE Error, GLPE_CRITERR=0x00011424 [ 662.815017] ice 0000:4c:00.0 rocep76s0: Requesting a reset [ 662.815475] BUG: scheduling while atomic: swapper/37/0/0x00010002 [ 662.815475] BUG: scheduling while atomic: swapper/37/0/0x00010002 [ 662.815477] Modules linked in: rpcsec_gss_krb5 auth_rpcgss nfsv4 dns_resolver nfs lockd grace fscache netfs rfkill 8021q garp mrp stp llc vfat fat rpcrdma intel_rapl_msr intel_rapl_common sunrpc i10nm_edac rdma_ucm nfit ib_srpt libnvdimm ib_isert iscsi_target_mod x86_pkg_temp_thermal intel_powerclamp coretemp target_core_mod snd_hda_intel ib_iser snd_intel_dspcfg libiscsi snd_intel_sdw_acpi scsi_transport_iscsi kvm_intel iTCO_wdt rdma_cm snd_hda_codec kvm iw_cm ipmi_ssif iTCO_vendor_support snd_hda_core irqbypass crct10dif_pclmul crc32_pclmul ghash_clmulni_intel snd_hwdep snd_seq snd_seq_device rapl snd_pcm snd_timer isst_if_mbox_pci pcspkr isst_if_mmio irdma intel_uncore idxd acpi_ipmi joydev isst_if_common snd mei_me idxd_bus ipmi_si soundcore i2c_i801 mei ipmi_devintf i2c_smbus i2c_ismt ipmi_msghandler acpi_power_meter acpi_pad rv(OE) ib_uverbs ib_cm ib_core xfs libcrc32c ast i2c_algo_bit drm_vram_helper drm_kms_helper syscopyarea sysfillrect sysimgblt fb_sys_fops drm_ttm_helpe r ttm [ 662.815546] nvme nvme_core ice drm crc32c_intel i40e t10_pi wmi pinctrl_emmitsburg dm_mirror dm_region_hash dm_log dm_mod fuse [ 662.815557] Preemption disabled at: [ 662.815558] [<0000000000000000>] 0x0 [ 662.815563] CPU: 37 PID: 0 Comm: swapper/37 Kdump: loaded Tainted: G S OE 5.17.1 #2 [ 662.815566] Hardware name: Intel Corporation D50DNP/D50DNP, BIOS SE5C6301.86B.6624.D18.2111021741 11/02/2021 [ 662.815568] Call Trace: [ 662.815572] <IRQ> [ 662.815574] dump_stack_lvl+0x33/0x42 [ 662.815581] __schedule_bug.cold.147+0x7d/0x8a [ 662.815588] __schedule+0x798/0x990 [ 662.815595] schedule+0x44/0xc0 [ 662.815597] schedule_preempt_disabled+0x14/0x20 [ 662.815600] __mutex_lock.isra.11+0x46c/0x490 [ 662.815603] ? __ibdev_printk+0x76/0xc0 [ib_core] [ 662.815633] device_del+0x37/0x3d0 [ 662.815639] ice_unplug_aux_dev+0x1a/0x40 [ice] [ 662.815674] ice_schedule_reset+0x3c/0xd0 [ice] [ 662.815693] irdma_iidc_event_handler.cold.7+0xb6/0xd3 [irdma] [ 662.815712] ? bitmap_find_next_zero_area_off+0x45/0xa0 [ 662.815719] ice_send_event_to_aux+0x54/0x70 [ice] [ 662.815741] ice_misc_intr+0x21d/0x2d0 [ice] [ 662.815756] __handle_irq_event_percpu+0x4c/0x180 [ 662.815762] handle_irq_event_percpu+0xf/0x40 [ 662.815764] handle_irq_event+0x34/0x60 [ 662.815766] handle_edge_irq+0x9a/0x1c0 [ 662.815770] __common_interrupt+0x62/0x100 [ 662.815774] common_interrupt+0xb4/0xd0 [ 662.815779] </IRQ> [ 662.815780] <TASK> [ 662.815780] asm_common_interrupt+0x1e/0x40 [ 662.815785] RIP: 0010:cpuidle_enter_state+0xd6/0x380 [ 662.815789] Code: 49 89 c4 0f 1f 44 00 00 31 ff e8 65 d7 95 ff 45 84 ff 74 12 9c 58 f6 c4 02 0f 85 64 02 00 00 31 ff e8 ae c5 9c ff fb 45 85 f6 <0f> 88 12 01 00 00 49 63 d6 4c 2b 24 24 48 8d 04 52 48 8d 04 82 49 [ 662.815791] RSP: 0018:ff2c2c4f18edbe80 EFLAGS: 00000202 [ 662.815793] RAX: ff280805df140000 RBX: 0000000000000002 RCX: 000000000000001f [ 662.815795] RDX: 0000009a52da2d08 R ---truncated---
CVE-2021-47569В ядре Linux устранена следующая уязвимость: io_uring: сбой отмены для EXITING tasks WARNING: CPU: 1 PID: 20 at fs/io_uring.c:6269 io_try_cancel_userdata+0x3c5/0x640 fs/io_uring.c:6269 CPU: 1 PID: 20 Comm: kworker/1:0 Not tainted 5.16.0-rc1-syzkaller #0 Workqueue: events io_fallback_req_func RIP: 0010:io_try_cancel_userdata+0x3c5/0x640 fs/io_uring.c:6269 Call Trace: <TASK> io_req_task_link_timeout+0x6b/0x1e0 fs/io_uring.c:6886 io_fallback_req_func+0xf9/0x1ae fs/io_uring.c:1334 process_one_work+0x9b2/0x1690 kernel/workqueue.c:2298 worker_thread+0x658/0x11f0 kernel/workqueue.c:2445 kthread+0x405/0x4f0 kernel/kthread.c:327 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:295 </TASK> Нам нужен контекст исходной задачи для выполнения отмены, поэтому, если она умирает и обратный вызов выполняется в режиме fallback, отмените попытку отмены.
CVE-2021-47492В ядре Linux устранена следующая уязвимость: mm, thp: преждевременно отказаться от collapse_file для страницы обратной записи. В настоящее время collapse_file явно не проверяет PG_writeback, вместо этого page_has_private и try_to_release_page используются для фильтрации страниц обратной записи. Это не работает для xfs с размером блока, равным или превышающим размер страницы, потому что в таком случае xfs не имеет page->private. Это заставляет collapse_file преждевременно отказываться от страницы обратной записи. В противном случае xfs end_page_writeback запаникует следующим образом. page:fffffe00201bcc80 refcount:0 mapcount:0 mapping:ffff0003f88c86a8 index:0x0 pfn:0x84ef32 aops:xfs_address_space_operations [xfs] ino:30000b7 dentry name:"libtest.so" flags: 0x57fffe0000008027(locked|referenced|uptodate|active|writeback) raw: 57fffe0000008027 ffff80001b48bc28 ffff80001b48bc28 ffff0003f88c86a8 raw: 0000000000000000 0000000000000000 00000000ffffffff ffff0000c3e9a000 page dumped because: VM_BUG_ON_PAGE(((unsigned int) page_ref_count(page) + 127u <= 127u)) page->mem_cgroup:ffff0000c3e9a000 ------------[ cut here ]------------ kernel BUG at include/linux/mm.h:1212! Internal error: Oops - BUG: 0 [#1] SMP Modules linked in: BUG: Bad page state in process khugepaged pfn:84ef32 xfs(E) page:fffffe00201bcc80 refcount:0 mapcount:0 mapping:0 index:0x0 pfn:0x84ef32 libcrc32c(E) rfkill(E) aes_ce_blk(E) crypto_simd(E) ... CPU: 25 PID: 0 Comm: swapper/25 Kdump: loaded Tainted: ... pstate: 60400005 (nZCv daif +PAN -UAO -TCO BTYPE=--) Call trace: end_page_writeback+0x1c0/0x214 iomap_finish_page_writeback+0x13c/0x204 iomap_finish_ioend+0xe8/0x19c iomap_writepage_end_bio+0x38/0x50 bio_endio+0x168/0x1ec blk_update_request+0x278/0x3f0 blk_mq_end_request+0x34/0x15c virtblk_request_done+0x38/0x74 [virtio_blk] blk_done_softirq+0xc4/0x110 __do_softirq+0x128/0x38c __irq_exit_rcu+0x118/0x150 irq_exit+0x1c/0x30 __handle_domain_irq+0x8c/0xf0 gic_handle_irq+0x84/0x108 el1_irq+0xcc/0x180 arch_cpu_idle+0x18/0x40 default_idle_call+0x4c/0x1a0 cpuidle_idle_call+0x168/0x1e0 do_idle+0xb4/0x104 cpu_startup_entry+0x30/0x9c secondary_start_kernel+0x104/0x180 Code: d4210000 b0006161 910c8021 94013f4d (d4210000) ---[ end trace 4a88c6a074082f8c ]--- Kernel panic - not syncing: Oops - BUG: Fatal exception in interrupt
CVE-2024-36026В ядре Linux устранена следующая уязвимость: drm/amd/pm: исправляет случайные зависания в S4 для SMU v13.0.4/11. При проведении многочисленных стресс-тестов S4 GC/RLC/PMFW переходят в недопустимое состояние, приводящее к жестким зависаниям. Добавление сброса GFX в качестве обходного пути непосредственно перед отправкой сообщения MP1_UNLOAD позволяет избежать этой ошибки.
CVE-2022-48763В ядре Linux устранена следующая уязвимость: KVM: x86: Принудительный выход из вложенной виртуализации при переключении состояния SMM. Принудительно прекратить операцию вложенной виртуализации, если пространство пользователя переключает состояние SMM через KVM_SET_VCPU_EVENTS или KVM_SYNC_X86_EVENTS. Если пространство пользователя принудительно выводит vCPU из SMM во время post-VMXON, а затем внедряет SMI, vmx_enter_smm() перезапишет vmx->nested.smm.vmxon и в конечном итоге получит как vmxon=false, так и smm.vmxon=false, но все остальное состояние nVMX будет выделено. Не пытайтесь корректно обрабатывать переход, поскольку (a) большинство переходов бессмысленны, например, принудительный SMM во время работы L2, (b) недостаточно информации для обработки всех переходов, например, SVM требуется доступ к состоянию сохранения SMRAM, и (c) KVM_SET_VCPU_EVENTS должен предшествовать KVM_SET_NESTED_STATE во время восстановления состояния, поскольку последний запрещает помещение vCPU в L2, если SMM активен, и запрещает помечать vCPU как post-VMXON в SMM, если SMM не активен. Злоупотребление KVM_SET_VCPU_EVENTS проявляется в виде WARN и утечки памяти в nVMX из-за невозможности освободить теневой VMCS vmcs01, но ошибка выходит далеко за рамки просто утечки памяти, например, переключение SMM во время активности L2 переводит vCPU в архитектурно невозможное состояние. WARNING: CPU: 0 PID: 3606 at free_loaded_vmcs arch/x86/kvm/vmx/vmx.c:2665 [inline] WARNING: CPU: 0 PID: 3606 at free_loaded_vmcs+0x158/0x1a0 arch/x86/kvm/vmx/vmx.c:2656 Modules linked in: CPU: 1 PID: 3606 Comm: syz-executor725 Not tainted 5.17.0-rc1-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 RIP: 0010:free_loaded_vmcs arch/x86/kvm/vmx/vmx.c:2665 [inline] RIP: 0010:free_loaded_vmcs+0x158/0x1a0 arch/x86/kvm/vmx/vmx.c:2656 Code: <0f> 0b eb b3 e8 8f 4d 9f 00 e9 f7 fe ff ff 48 89 df e8 92 4d 9f 00 Call Trace: <TASK> kvm_arch_vcpu_destroy+0x72/0x2f0 arch/x86/kvm/x86.c:11123 kvm_vcpu_destroy arch/x86/kvm/../../../virt/kvm/kvm_main.c:441 [inline] kvm_destroy_vcpus+0x11f/0x290 arch/x86/kvm/../../../virt/kvm/kvm_main.c:460 kvm_free_vcpus arch/x86/kvm/x86.c:11564 [inline] kvm_arch_destroy_vm+0x2e8/0x470 arch/x86/kvm/x86.c:11676 kvm_destroy_vm arch/x86/kvm/../../../virt/kvm/kvm_main.c:1217 [inline] kvm_put_kvm+0x4fa/0xb00 arch/x86/kvm/../../../virt/kvm/kvm_main.c:1250 kvm_vm_release+0x3f/0x50 arch/x86/kvm/../../../virt/kvm/kvm_main.c:1273 __fput+0x286/0x9f0 fs/file_table.c:311 task_work_run+0xdd/0x1a0 kernel/task_work.c:164 exit_task_work include/linux/task_work.h:32 [inline] do_exit+0xb29/0x2a30 kernel/exit.c:806 do_group_exit+0xd2/0x2f0 kernel/exit.c:935 get_signal+0x4b0/0x28c0 kernel/signal.c:2862 arch_do_signal_or_restart+0x2a9/0x1c40 arch/x86/kernel/signal.c:868 handle_signal_work kernel/entry/common.c:148 [inline] exit_to_user_mode_loop kernel/entry/common.c:172 [inline] exit_to_user_mode_prepare+0x17d/0x290 kernel/entry/common.c:207 __syscall_exit_to_user_mode_work kernel/entry/common.c:289 [inline] syscall_exit_to_user_mode+0x19/0x60 kernel/entry/common.c:300 do_syscall_64+0x42/0xb0 arch/x86/entry/common.c:86 entry_SYSCALL_64_after_hwframe+0x44/0xae </TASK>
CVE-2021-47551В ядре Linux устранена следующая уязвимость: drm/amd/amdkfd: Исправление kernel panic, когда сброс завершился неудачно и был запущен снова В конфигурации SRIOV сброс может не вернуть asic в нормальное состояние, но остановка cpsch уже была вызвана, start_cpsch не будет вызван, поскольку в этом случае нет возобновления. Когда сброс запускается снова, драйвер должен избегать повторной деинициализации.
CVE-2024-42087В ядре Linux устранена следующая уязвимость: drm/panel: ilitek-ili9881c: Исправить предупреждение с контроллерами GPIO, которые спят. ilitek-ili9881c управляет GPIO сброса, используя функцию gpiod_set_value(), не допускающую сон. Это громко жалуется, когда контроллеру GPIO нужно уснуть. Поскольку вызывающая сторона может спать, используйте gpiod_set_value_cansleep() для решения проблемы.
CVE-2024-41068В ядре Linux устранена следующая уязвимость: s390/sclp: Исправить очистку sclp_init() при сбое Если sclp_init() завершается неудачно, она очищается только частично: если есть несколько неудачных вызовов sclp_init(), sclp_state_change_event будет добавлен несколько раз в sclp_reg_list, что приведет к следующему предупреждению: ------------[ cut here ]------------ list_add double add: new=000003ffe1598c10, prev=000003ffe1598bf0, next=000003ffe1598c10. WARNING: CPU: 0 PID: 1 at lib/list_debug.c:35 __list_add_valid_or_report+0xde/0xf8 CPU: 0 PID: 1 Comm: swapper/0 Not tainted 6.10.0-rc3 Krnl PSW : 0404c00180000000 000003ffe0d6076a (__list_add_valid_or_report+0xe2/0xf8) R:0 T:1 IO:0 EX:0 Key:0 M:1 W:0 P:0 AS:3 CC:0 PM:0 RI:0 EA:3 ... Call Trace: [<000003ffe0d6076a>] __list_add_valid_or_report+0xe2/0xf8 ([<000003ffe0d60766>] __list_add_valid_or_report+0xde/0xf8) [<000003ffe0a8d37e>] sclp_init+0x40e/0x450 [<000003ffe00009f2>] do_one_initcall+0x42/0x1e0 [<000003ffe15b77a6>] do_initcalls+0x126/0x150 [<000003ffe15b7a0a>] kernel_init_freeable+0x1ba/0x1f8 [<000003ffe0d6650e>] kernel_init+0x2e/0x180 [<000003ffe000301c>] __ret_from_fork+0x3c/0x60 [<000003ffe0d759ca>] ret_from_fork+0xa/0x30 Исправьте это, удалив sclp_state_change_event из sclp_reg_list, когда sclp_init() завершается неудачно.