From nobody Fri Dec 19 15:50:38 2025 Received: from mail-pl1-f196.google.com (mail-pl1-f196.google.com [209.85.214.196]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id BF5C12E0B47 for ; Thu, 6 Nov 2025 13:58:09 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.196 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762437491; cv=none; b=QLP2Fq/B/Js5+w7okWcvz5AyPYkXMGh5/YxiyjkKDshTPHR1oNYLC6wlJ2MSvs/nsjzmpJoshpcAw2ORL78qCje2iYjFtOxLn7qVOzmTFCG9X+gAaBZ4iNNW/qth7hFwgCSQEKdBfIPOd/gEfBVeIBeex9F+xzPVmddrCsQPoRI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762437491; c=relaxed/simple; bh=xm32/PUt7XgP0AJBnuwZMLyFiMHFhdYO5mBVoIGW22o=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=iMnH9mcUy2VO/tPih+YCEGbK4T+iZC/+A7y925nMCWWyGrqrImCqlmuWjtO1cbMDYIueqCOw8qSAuI4XyWIPdoffqjwOfmSPxYBKcjY0O2dScW6HZdH5A00rHLfpzIB2D7dW9PISRWsc/TGtUxMAmEyOs9t9DAbz75xgHcorNJs= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=EzRc3ES1; arc=none smtp.client-ip=209.85.214.196 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="EzRc3ES1" Received: by mail-pl1-f196.google.com with SMTP id d9443c01a7336-2951e58fa43so1071045ad.1 for ; Thu, 06 Nov 2025 05:58:09 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1762437489; x=1763042289; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=CJ2p4fKScptUntxDD4RknqhZ7LLlOjfrAorczf3l+6o=; b=EzRc3ES19SnWtvBn3KY8R6QK9rMxorvrsGWx/ZYYk5jdN2p37orAm1nMdf3gpYuRNC Tu+1/6lj73UwjxXTvCS8XdJULyde/XJPn72v9WlteOgnxzc6ZKziasd9mqFZp0edQQTv WHCnGrYNQZFGfcRwiDMgzSy1pXDlRDQArE6QSeHy40t7tdxZ/6RdZ4THQBWGCbvVy1Al itr88cNCncPgrtBnz4QTPmescf8DnpIulKvUgzuDU6WwsfnZ2MTy3dKRFInr1wAXn4gj CW+R+8XpBPzvVEEXuQl1TVgh/ognw0HKPlIMa0srefcQNcktzXNmMDZuJhlVxTAzOWpm Sfig== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1762437489; x=1763042289; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=CJ2p4fKScptUntxDD4RknqhZ7LLlOjfrAorczf3l+6o=; b=Rdtn2pkThhKSqLeXsd3hifqsElID+jwdN0baDOzpim6HHa3MFRLehTC7X6yKQacZfP 8132gC6bpstDEGi5OeytjuPsq9We6QNIkoui2MZ68FUvFTJtFtPbQd0A6FNJ4+pPh1hX XuCaH0j35dTZcQP7Hkhg9B9tagiynWfTUH4GCvsBTA6zUp7dIBblnhFUUulcKWuArFmz XNBk7hAUaY2G5XO6VKBnuSpbDx2a+wHHo55pk14VV2WEPfwXs+J6v/eAaPcdSI5YHvhA vOWu82p4+3eAG6erLIlGORt6LUy0Bg5Bisnu55MvNC23RBsoaDzEUAmrEFWL3aSbhJ2w TG+g== X-Forwarded-Encrypted: i=1; AJvYcCXEm3ugkDkIGf/yPi901RR7z1ub2qjAYNQgD9Zv6i/QM/o7NniYagg84c5d4NY+6zFLv9Joqk910XIfkRU=@vger.kernel.org X-Gm-Message-State: AOJu0YzcVonGyR9HvZpgaFHka7a2zAwAVcSgpDBLiedRhLxbVC6PmOPv tOTsq3m/x4WKpefuPQl0DH4ynF5JOh10QT8KcSvm7AoQk+J4AbpQ3dGB X-Gm-Gg: ASbGnctrEwmm03y80gudFmqlO6dKssU0h6njCzYmW05eDX6/L96RgMMa8YhS1XU1t2K QHao1K71TGpfg810mFY+aMRKpnIc/qE6r3/qLik/GgCAjU/9MTRwPixXE+HsiL0kCcgn1c54Kzq 7s6ErhuaaXQ1n9r7DFwDVoGGPMuhMw/3hW6QQhNccg/45rIPzwWRHbGGPrKnoWBHj3kcKoAS7Un +Mh5oStO06zdKDAS032RE/FN5pWgmDdYUq2R4e1yBbrw24gNbCEmC0ijshxg0dylMQgRkUnQCzI ZRFnsdGT9CG1RKxaR+ZPWx5h/nfS8hA+5Hf4t+dLIsfoyheGs91Xw/xVwJykMapSpgFn0cWKRID l9SWoyVFJmpahRotDkw6LUmWQrUHBJNJa0KINso40vplNFe7RoZvfaeQxZkta6jeIZyIHM0EMBX w= X-Google-Smtp-Source: AGHT+IEqMgZ7opDOUpiaQ/1pkphHXH5yXYJ0l9b+0/N5P7cyoOtDV0gJB9a3rdSrbl3cPEiiU+wihw== X-Received: by 2002:a17:902:c402:b0:295:4d64:3c88 with SMTP id d9443c01a7336-2962ae532b4mr53521975ad.7.1762437488720; Thu, 06 Nov 2025 05:58:08 -0800 (PST) Received: from user.. ([58.206.232.74]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-341a68bf37bsm6439593a91.7.2025.11.06.05.58.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 06 Nov 2025 05:58:08 -0800 (PST) From: clingfei X-Google-Original-From: clingfei <1599101385@qq.com> To: horms@kernel.org Cc: davem@davemloft.net, edumazet@google.com, herbert@gondor.apana.org.au, kuba@kernel.org, linux-kernel@vger.kernel.org, netdev@vger.kernel.org, pabeni@redhat.com, steffen.klassert@secunet.com, eadavis@qq.com, ssrane_b23@ee.vjti.ac.in, syzbot+be97dd4da14ae88b6ba4@syzkaller.appspotmail.com, syzkaller-bugs@googlegroups.com, clf700383@gmail.com Subject: [PATCH 1/3] fix integer overflow in set_ipsecrequest Date: Thu, 6 Nov 2025 21:56:56 +0800 Message-Id: <20251106135658.866481-2-1599101385@qq.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20251106135658.866481-1-1599101385@qq.com> References: <20251106135658.866481-1-1599101385@qq.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: clingfei syzbot reported a kernel BUG in set_ipsecrequest() due to an skb_over_panic. The mp->new_family and mp->old_family is u16, while set_ipsecrequest receiv= es family as uint8_t, causing a integer overflow and the later size_req calcu= lation error, which exceeds the size used in alloc_skb, and ultimately triggered t= he kernel bug in skb_put. Reported-by: syzbot+be97dd4da14ae88b6ba4@syzkaller.appspotmail.com Closes: https://syzkaller.appspot.com/bug?extid=3Dbe97dd4da14ae88b6ba4 Signed-off-by: Cheng Lingfei --- net/key/af_key.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/net/key/af_key.c b/net/key/af_key.c index 2ebde0352245..aa4bd29f27ea 100644 --- a/net/key/af_key.c +++ b/net/key/af_key.c @@ -3518,7 +3518,7 @@ static int set_sadb_kmaddress(struct sk_buff *skb, co= nst struct xfrm_kmaddress * =20 static int set_ipsecrequest(struct sk_buff *skb, uint8_t proto, uint8_t mode, int level, - uint32_t reqid, uint8_t family, + u32 reqid, uint16_t family, const xfrm_address_t *src, const xfrm_address_t *dst) { struct sadb_x_ipsecrequest *rq; --=20 2.34.1 From nobody Fri Dec 19 15:50:38 2025 Received: from mail-pj1-f65.google.com (mail-pj1-f65.google.com [209.85.216.65]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1EF8D320386 for ; Thu, 6 Nov 2025 13:58:15 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.65 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762437497; cv=none; b=BtUtBlj6GlBU5tDHQ4isNH4q6MmbMZL2IOWUex29ONyOwm5uq8ruBWCUusyQOkraorqApi1bA4KPOfkffM29gVMkfn8432pR6GntO+CHWEum9vl/IvNQkte0psWT28HvXLtI2N+GyIAK4ki+sIfsDafkMA10Z/W2+eVT6oZKs7U= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762437497; c=relaxed/simple; bh=DrHGCtHv53QjsxNbuUABBFBxBL0tWPAnkEs2nHbZ6kE=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=ZHkuRHS42L1+ZoULZPxx9P0H4NyzzY1S4NST9Sf2KvO/9p7qcddoQNjwPPa5/c9T18UFJcPJaS6eBWR6knqZ/moQQE7PUFMH69zBiT1NKkWlDU/S8b8RLxX+EGvOcNRkgUY19ZNrFyRj7Utn06Mi8vNN4N2grPEyXzOdKw7OAcs= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=d+SFgT1J; arc=none smtp.client-ip=209.85.216.65 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="d+SFgT1J" Received: by mail-pj1-f65.google.com with SMTP id 98e67ed59e1d1-340bb45e37cso171253a91.3 for ; Thu, 06 Nov 2025 05:58:15 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1762437495; x=1763042295; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=ro150xIMSRVQ4ZLxxqwU1iOGZU/wuTJeStzvIhnMN34=; b=d+SFgT1JpEjz+wBDVU0mC++YICGN5EveFN67TEtxAOFwKIv53jrumrj4vJwA679HwZ TIdfd1Hf6FPGVuL6Y0Hhz6rb+v6gVptJ2g25Oc2zLgYwbaqpfCEatqEWr+kPP69ZWR8V oMLlWJvAUZO67pkCgBOp7h7z1Y6pC+US48rqC3qqnm2E96tWq5VJOIOjAB+OI/ATp9rj a3Bw74RwqdR1WEnN0Kf+e/yNRUDVWgT7CKUlRB+1SjAUxfQ8+o0lJHOg7TMCMaDWbwKF 0eCVCm8q0BCgm9a9x/InYGGvqAdD2/v9yAl5mZ7ztT28plE4j87vae6vsNINUPV3HWNo qpuw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1762437495; x=1763042295; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=ro150xIMSRVQ4ZLxxqwU1iOGZU/wuTJeStzvIhnMN34=; b=U+QArloOznMRXoDiqOwM1b7FnMfuEmOx/SNk49TFpLCJoQ8lZWPlPviEqVluFbjP8T vtzvjC81YoUXLA9RO8PO6pzrkRMReTCr7qiSTFzO1cy3TOJCC4QXaWP2xFDAP0a7DeUi YoL7Y9odHSfsbsXbumn2ZahPfIeeIbZiLH+A+3ihc/lCCTjjKD8xiVs2oqjXCsZ+A0aR MGaKdfVvl/MWfrM72ZNl7A+ZpwmL15W6NXvLkPPUP/Fq4Y7XD1fu/w3pu1CimT163uYn J0u5Xq4bJ2oAUL7lSR0f91+M2sQKSTnCV3raE2uIE28XnkbDe5zleGzPub9GaVp5EHAa 65VA== X-Forwarded-Encrypted: i=1; AJvYcCVjB1K7sYyEkR4wIQQ3zjeaJU+xrApzkhjbj+MkmFBcXn46YWBn30KM+OLBislDzvsmJuRZAORhMUvObCM=@vger.kernel.org X-Gm-Message-State: AOJu0YzrwOr2yW6g60v+0uHwxp4VKbNkQIeEOd7UODTDAYI99d2HIwAp aeXNEhhpnzZwoNnObxigI5TzpSNptolF4jHcJRbF/d7OrVz5yv8nQGyr X-Gm-Gg: ASbGncvJdEmeA5uL8YeTAtxuqZsAaNfs9pJGiuyh/d+2D/k9+8700dATmXDCrCyZPU/ /dZYeZPwzxF+lB8IvQx5UVrgwcawpnd/HcU5I+1CbeJuY9X9rsefFU1do+8ErsdrS11Q395X/qm 0IsiKjlW8y+pY81bcEAdqDhQeBGRDU/WIYu2iSuyZnPEc3IOykf4sg2UsVSxs3lE9TwU65gx2sJ OMHD6q7J7r/2hQEEGJ/PekaJHhZeqKW1V3Looch+cRck8iVKGwpz0iwvbexLcLSa/I3Hh3wT3sT X19P08CTD4xoctzRZ248KHPLqRfPCCbB+MPA0fLxwaAk+HxbCf2KhLy8Equ5L5aOleLUPIC5+6Q xbBQSDkpR7XwZHKWStfKzhD0/uADpxdyWbOfz8yhPu3EgzGNBUI7Nxj6TvOvaW3Xk X-Google-Smtp-Source: AGHT+IE4mUBuAxvxNOx8gzgkLs6eu5qTa8sJ0yTqgn0Map+lM4vZ+s3iiD82zXnyQVCGqYbKWG6o1w== X-Received: by 2002:a17:90b:4a8a:b0:340:29cb:d3e8 with SMTP id 98e67ed59e1d1-341a6b0da84mr4647095a91.0.1762437495322; Thu, 06 Nov 2025 05:58:15 -0800 (PST) Received: from user.. ([58.206.232.74]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-341a68bf37bsm6439593a91.7.2025.11.06.05.58.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 06 Nov 2025 05:58:14 -0800 (PST) From: clingfei X-Google-Original-From: clingfei <1599101385@qq.com> To: horms@kernel.org Cc: davem@davemloft.net, edumazet@google.com, herbert@gondor.apana.org.au, kuba@kernel.org, linux-kernel@vger.kernel.org, netdev@vger.kernel.org, pabeni@redhat.com, steffen.klassert@secunet.com, eadavis@qq.com, ssrane_b23@ee.vjti.ac.in, syzbot+be97dd4da14ae88b6ba4@syzkaller.appspotmail.com, syzkaller-bugs@googlegroups.com, clf700383@gmail.com Subject: [PATCH 2/3] key: No support for family zero Date: Thu, 6 Nov 2025 21:56:57 +0800 Message-Id: <20251106135658.866481-3-1599101385@qq.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20251106135658.866481-1-1599101385@qq.com> References: <20251106135658.866481-1-1599101385@qq.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Edward Adam Davis When setting the extended skb data for sadb_x_ipsecrequest, the requested extended data size exceeds the allocated skb data length, triggering the reported bug. Because family only supports AF_INET and AF_INET6, other values will cause pfkey_sockaddr_fill() to fail, which in turn causes set_ipsecrequest() to fail. Therefore, a workaround is available here: using a family value of 0 to resolve the issue of excessively large extended data length. syzbot reported: kernel BUG at net/core/skbuff.c:212! Call Trace: skb_over_panic net/core/skbuff.c:217 [inline] skb_put+0x159/0x210 net/core/skbuff.c:2583 skb_put_zero include/linux/skbuff.h:2788 [inline] set_ipsecrequest+0x73/0x680 net/key/af_key.c:3532 Fixes: 08de61beab8a ("[PFKEYV2]: Extension for dynamic update of endpoint a= ddress(es)") Reported-by: syzbot+be97dd4da14ae88b6ba4@syzkaller.appspotmail.com Closes: https://syzkaller.appspot.com/bug?extid=3Dbe97dd4da14ae88b6ba4 Signed-off-by: Edward Adam Davis --- net/key/af_key.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/net/key/af_key.c b/net/key/af_key.c index aa4bd29f27ea..cfda15a5aa4d 100644 --- a/net/key/af_key.c +++ b/net/key/af_key.c @@ -3526,6 +3526,9 @@ static int set_ipsecrequest(struct sk_buff *skb, int socklen =3D pfkey_sockaddr_len(family); int size_req; =20 + if (!family) + return -EINVAL; + size_req =3D sizeof(struct sadb_x_ipsecrequest) + pfkey_sockaddr_pair_size(family); =20 --=20 2.34.1 From nobody Fri Dec 19 15:50:38 2025 Received: from mail-pj1-f66.google.com (mail-pj1-f66.google.com [209.85.216.66]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E1603303CB2 for ; Thu, 6 Nov 2025 13:58:25 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.66 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762437507; cv=none; b=gZSvKr16ju24HFLC6FP3UniUPQ5+plzveG+iKB0swx85kkFeiBNNKZKpPLIzN5iZnYeY7+S19GzRHR4SIcIp4vxg/BXt/Nm6qej9FAEzL+bO7Tlg/7szMw3QUv0Sl+JX8PxiEKkhQJQEUcALWap7FWT3KV/oW6LLoyYSh0iNx+Y= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762437507; c=relaxed/simple; bh=zrM2PCMHTJ+hS4n00Wujxh07B+51gM7047RGagXqk+I=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=fsnEpGY00SbEbAczKmNE39iPoiuemHRev+bptXZCO8qjwmiYFB+kMNT7JjhIdnXIyV4tMMquBOaXuRsTOk9JCCrNZ8S0zM+KIlW4KEa2brVxa2iSV0DiInS9P57WxG6PR9v6HTwr55eu2gr/Sv9ftdN1oI8Hy2xAENh78PoKbtw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=O+nzBUd6; arc=none smtp.client-ip=209.85.216.66 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="O+nzBUd6" Received: by mail-pj1-f66.google.com with SMTP id 98e67ed59e1d1-33257e0fb88so196439a91.1 for ; Thu, 06 Nov 2025 05:58:25 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1762437505; x=1763042305; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=95xsXqtqpxl4DVLujugvMY+qm/mCPkORVkUJK+NXUMI=; b=O+nzBUd6+r9GxAqI32uBqtQmyEBhnQE3u+EoZ0D/4Wd/HXpWS5t4UorVeRlex5VW8p oJWb6qhWSczZzyJvaCkeso4buVy/8erhpvVZXKJkWrH2Ltozq5LC9L0Ye73Y+K3xO6Zb 7NMUs/oktERoFqSIcqHpDIUDZ+THVPIQmNG3IY6hf8RPfHZh6quHEfzGQdTy5gcSBMic GBIkTsONaVYyzXGqG6vEWBVPRLIjHRsCFyh3BHP4s5WCU2BxWWBOzdSDox+jNOdhM6Zs sLlNtywhbnKofX4yOupyZRwEqtONIHYr5SnZIW5rSlmo7HspSgj8+1z9M8TsHBQKa64O kbhQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1762437505; x=1763042305; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=95xsXqtqpxl4DVLujugvMY+qm/mCPkORVkUJK+NXUMI=; b=s4l/XfYSc5VgIPhcQ5KlrFiL+fMnD0EtkzxFaJHOfaIhIKiPwBomvn11zABn7nXGiO 6MestoHq6H3d5tE3zL3Ndz7JRwmlAaKaeMQbAO7/xeKX6rWMEhepbz0bD/iCZJmr7L0l 069A3iXw7Hm3NYZec2apyYYGIAWfCe9v5i7Dq0sXJlF+EXKiG0OuVTQo3GwoXVKdDX4q jumYSA1zHh9802yvcFD4AZ7wJh2O0ZhulE4Jz/hpVSBE+3NumFD1f0yDde0j1yqIfSgc DE3bvjSXWTkSEk1lh3hTUhHHp3zVGj0C4hjxQxZeL1lzT+jmKoGHWDBcxUHpBzmf884K 3+Jg== X-Forwarded-Encrypted: i=1; AJvYcCU7YMV+tRqIBG4PFihSxBq3Z2EzJxLXVvfJzqp43hdWrxVtzdt/FFvOllpJJEfJxCEt2SY6FL0PVCGlxLk=@vger.kernel.org X-Gm-Message-State: AOJu0YwHhgrn5V4kSmDSwZ78ezn/daluWzyhMW6fc29PigQ4wkMrJL2H HPaz/ke/oJmnbDz73Kj9h2esWv6EfYDxrhgEWUthuByEV1rHCtb2ZLQA X-Gm-Gg: ASbGncuR+m5VmwwkhZuDhLb5i6EEu1EVAqzcyrhhMKo8RuReG/wAtXHjIo70IY/7keB dzDMU6ffrbZz0UZle8GlVI+FSyIqNvNAoLi+S3C7+ajpubxZki5kpvhgWmOgEbcR9iSlyShAR79 D6/PGkLzGcsdWCXN5UzoCZh9pCQAHojfa2m2jrQbCQBxj6NBvo0sK77VcSsvHKrQlr9tjbgvvU0 +swDz3OwkECHHCttSrxBbpbrgh8dhaRt13ZjuFw+7mEcJxyqX63+SJYkNhByHYFmehhPNk+kTwC 0+UR2+2PrNv+CZAfUBkcTa/W/aElv2flKlDqnkw6iRNIlmy9ARZsVPgyKtD9cHP/XtmEu1eRfxt UpVdMh3ALzchinLzLLWmS9U5euMPnNa4JwBtfAdqNT8XLy5DLorjNeLs4a7ZQ4YnT X-Google-Smtp-Source: AGHT+IGIBN1A6WXIAp5cV5s9HGkIYojkGlgq6bso3e+lR+1LOUXP0gknbBO0nEL/1V/95+m6CD5B4Q== X-Received: by 2002:a17:90b:4c4f:b0:340:b8f2:24f6 with SMTP id 98e67ed59e1d1-341cf343082mr2159229a91.2.1762437505042; Thu, 06 Nov 2025 05:58:25 -0800 (PST) Received: from user.. ([58.206.232.74]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-341a68bf37bsm6439593a91.7.2025.11.06.05.58.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 06 Nov 2025 05:58:24 -0800 (PST) From: clingfei X-Google-Original-From: clingfei <1599101385@qq.com> To: horms@kernel.org Cc: davem@davemloft.net, edumazet@google.com, herbert@gondor.apana.org.au, kuba@kernel.org, linux-kernel@vger.kernel.org, netdev@vger.kernel.org, pabeni@redhat.com, steffen.klassert@secunet.com, eadavis@qq.com, ssrane_b23@ee.vjti.ac.in, syzbot+be97dd4da14ae88b6ba4@syzkaller.appspotmail.com, syzkaller-bugs@googlegroups.com, clf700383@gmail.com Subject: [PATCH 3/3] net: key: Validate address family in set_ipsecrequest() Date: Thu, 6 Nov 2025 21:56:58 +0800 Message-Id: <20251106135658.866481-4-1599101385@qq.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20251106135658.866481-1-1599101385@qq.com> References: <20251106135658.866481-1-1599101385@qq.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: SHAURYA RANE Hi syzbot, Please test the following patch. #syz test: git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git m= aster Thanks, Shaurya Rane From 123c5ac9ba261681b58a6217409c94722fde4249 Mon Sep 17 00:00:00 2001 From: Shaurya Rane Date: Sun, 19 Oct 2025 23:18:30 +0530 Subject: [PATCH] net: key: Validate address family in set_ipsecrequest() syzbot reported a kernel BUG in set_ipsecrequest() due to an skb_over_panic when processing XFRM_MSG_MIGRATE messages. The root cause is that set_ipsecrequest() does not validate the address family parameter before using it to calculate buffer sizes. When an unsupported family value (such as 0) is passed, pfkey_sockaddr_len() returns 0, leading to incorrect size calculations. In pfkey_send_migrate(), the buffer size is calculated based on pfkey_sockaddr_pair_size(), which uses pfkey_sockaddr_len(). When family=3D0, this returns 0, so only sizeof(struct sadb_x_ipsecrequest) (16 bytes) is allocated per entry. However, set_ipsecrequest() is called multiple times in a loop (once for old_family, once for new_family, for each migration bundle), repeatedly calling skb_put_zero() with 16 bytes each time. This causes the tail pointer to exceed the end pointer of the skb, triggering skb_over_panic: tail: 0x188 (392 bytes) end: 0x180 (384 bytes) Fix this by validating that pfkey_sockaddr_len() returns a non-zero value before proceeding with buffer operations. This ensures proper size calculations and prevents buffer overflow. Checking socklen instead of just family=3D=3D0 provides comprehensive validation for all unsupported address families. Reported-by: syzbot+be97dd4da14ae88b6ba4@syzkaller.appspotmail.com Closes: https://syzkaller.appspot.com/bug?extid=3Dbe97dd4da14ae88b6ba4 Fixes: 08de61beab8a ("[PFKEYV2]: Extension for dynamic update of endpoint address(es)") Signed-off-by: Shaurya Rane Tested-by: syzbot+be97dd4da14ae88b6ba4@syzkaller.appspotmail.com --- net/key/af_key.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/net/key/af_key.c b/net/key/af_key.c index cfda15a5aa4d..93c20a31e03d 100644 --- a/net/key/af_key.c +++ b/net/key/af_key.c @@ -3529,7 +3529,11 @@ static int set_ipsecrequest(struct sk_buff *skb, if (!family) return -EINVAL; =20 - size_req =3D sizeof(struct sadb_x_ipsecrequest) + + /* Reject invalid/unsupported address families */ + if (!socklen) + return -EINVAL; + + size_req =3D sizeof(struct sadb_x_ipsecrequest) + pfkey_sockaddr_pair_size(family); =20 rq =3D skb_put_zero(skb, size_req); --=20 2.34.1