Re: [v6ops] Security issues in RFC8754 and related/subsequent drafts?

"Eric Vyncke (evyncke)" <evyncke@cisco.com> Sun, 24 October 2021 20:55 UTC

Return-Path: <evyncke@cisco.com>
X-Original-To: v6ops@ietfa.amsl.com
Delivered-To: v6ops@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id E95393A08FF for <v6ops@ietfa.amsl.com>; Sun, 24 Oct 2021 13:55:25 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -9.617
X-Spam-Level:
X-Spam-Status: No, score=-9.617 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_NONE=0.001, URIBL_BLOCKED=0.001, USER_IN_DEF_DKIM_WL=-7.5] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=cisco.com header.b=VCnP5NQg; dkim=pass (1024-bit key) header.d=cisco.onmicrosoft.com header.b=IPGFHsdi
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id c0D1s-7TBIUC for <v6ops@ietfa.amsl.com>; Sun, 24 Oct 2021 13:55:21 -0700 (PDT)
Received: from rcdn-iport-5.cisco.com (rcdn-iport-5.cisco.com [173.37.86.76]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 579E03A08FE for <v6ops@ietf.org>; Sun, 24 Oct 2021 13:55:21 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=39567; q=dns/txt; s=iport; t=1635108921; x=1636318521; h=from:to:subject:date:message-id:mime-version; bh=FOeeUMEnLvimb5jDv9IXnkjskxJ9S3q8HlgS4Va75bI=; b=VCnP5NQgd0RuV0d8MofSNSLhdvDno3cWJbI6Zd/an9seXD0JNC1Kg5Hu G7/6B0zaZDKwHaeZ3SY+DJFzqgIzB4MFZF+1jNQQBp6v5q3GA9tTaaO1J SLN/7wq2KCWziVdFvcB4Y7a5itBCTQpCV53Xa0mrVx1UV7ko9qKlCxzpJ c=;
IronPort-PHdr: A9a23:U1lvARU2KA0ryY8IgjymoF1dWLfV8K0aAWYlg6HPw5pCd6259NLjMVDRo/J3gwyBUYba7qdCjOzb++DlVHcb6JmM+HYFbNRXVhADhMlX+m5oAMOMBUDhavK/aSs8EZdOUVZ/9De6PFRbXsHkaA6arni79zVHHBL5OEJ8Lfj0HYiHicOx2qiy9pTfbh8OiiC6ZOZ5LQ69qkPascxF6bY=
IronPort-Data: A9a23:K/cy16+saWBvjDdxqqEWDrUDTXyTJUtcMsCJ2f8bNWPcYEJGY0x3mjMZW2vXM/eDamCne9BxO97koRsHuJXUzdBiSVQ4qXpEQiMRo6IpJzg2wmQcns+qw0aqoHtPt63yUfGdapBrJpPgjk31aOG49SMgjfvgqofUUYYoBAggHWeIdw954f5Ts7ZRbr9A2bBVMSvU0T/Bi5W31Gue5tJBGjl8B5RvB/9YlK+aVDsw5jTSbB3Q1bPUvyF94Jk3fcldI5ZkK7S4ENJWR86bpF241nnS8xFoAdS/n/OnNEYLWbXVewOJjxK6WYD73UME/XN0g/19badBAatUo23hc9RZxctcs5ezRC8iP7bHn6IWVBww/yRWY/0cpeCecSjn2SCU5wicG5f2+N1wUkYuJqUZ9/p5R2ZU+pQwATYBdB2cwcuy2668TLww3sAiNdTqMJ8SvnxryjSfBvEjaZzGSr/Bo95VwDl2gdpBdcsyzeJxhSFHdh/MZVhEPU0aTc54l+azjX65eDpdwG95bJEfuwD7pDGdGpC0WDYNRuG3eA==
IronPort-HdrOrdr: A9a23:SazqT6zUarkWNrzUfb0nKrPxnOskLtp133Aq2lEZdPULSK2lfpGV8sjziyWatN9IYgBbpTnyAtj8fZq8z+843WB1B9eftWbdyROVxe1ZnO7fKl7bamLDH4xmpNxdmsFFYbWaZzUX/KWKgjVQeOxQp+VvhZrY/Ns2uE0dKz2CBZsQiztRO0K+KAlbVQNGDZ02GN63/cxcvQetfnwRc4CSGmQFd/KrnayEqLvWJTo9QzI34giHij2lrJTgFQKD4xsYWzRThZ8/7Gn+lRDj7KnLiYD79vac7R6S031loqqi9jJxPr3ItiHTEESptu+cXvUjZ1RFhkFznAjg0idtrDCGmWZdAy060QKvQojym2q15+EluwxesEMLDjSj8CPeSIXCNUMH44Aqv/MmTjLJr0Unp91yy6RNwiaQsIdWFwrJmGDn68HPTAwCrDv+nZMOq59bs5Vka/pXVFaRl/1rwGpFVJMbWC7q4oEuF+djSMna+fZNaFufK3TUpHNmztCgVmk6Wk7ueDlOhuWFlzxN2HxpxUoRw8IS2n8G6ZImUpFBo+DJKL5hmr1CRtIfKah9GOACS82qDXGle2OHDEuCZVD8UK0XMXPErJD6pL0z+eGxYZQNiIA/nZzQOWkow1Lau3iefvFm8Kc7gSwlcV/NKQgFkPsul6SRkoeMNobWDQ==
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: A0D4CQAZx3Vh/5tdJa1agmKBITBRB3daEyQxhEeDRwOFOYVogiUDgROZY4EuFIERA1QLAQEBDQEBQQQBAYUAGYI3AiU2Bw4BAgQBAQESAQEFAQEBAgEGBIERE4VoDYZCAQMDEhEdAQExBxEBBgIRAwECIQoCBDAdCgQBEhsHgk8BgX5XAy8BkDOPNgGBOgKKH3qBMYEBgggBAQYEBIUKGII1CYE6gwaEFQEBhEx+gVYcgUlEgRQBJwwQgjA3PoEFgV4EgTUPAjgGgnI3gi6McWsGDx8rPgkvDAImBw4eBRgIIwIPAggHLhkHG5FtEYNJiQueJ4FaCoMynngFLacclgwfoCs8FIRiAgQCBAUCDgEBBoFoBi6BWXAVOyoBgj5RGQ9XjVULC4NQil50AgE1AgYBCgEBAwmQKYJGAQE
X-IronPort-AV: E=Sophos;i="5.87,179,1631577600"; d="scan'208,217";a="682571880"
Received: from rcdn-core-4.cisco.com ([173.37.93.155]) by rcdn-iport-5.cisco.com with ESMTP/TLS/DHE-RSA-SEED-SHA; 24 Oct 2021 20:55:19 +0000
Received: from mail.cisco.com (xbe-rcd-007.cisco.com [173.37.102.22]) by rcdn-core-4.cisco.com (8.15.2/8.15.2) with ESMTPS id 19OKtJxY010502 (version=TLSv1.2 cipher=AES256-SHA bits=256 verify=OK); Sun, 24 Oct 2021 20:55:19 GMT
Received: from xfe-rcd-003.cisco.com (173.37.227.251) by xbe-rcd-007.cisco.com (173.37.102.22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.792.15; Sun, 24 Oct 2021 15:55:19 -0500
Received: from xfe-rcd-003.cisco.com (173.37.227.251) by xfe-rcd-003.cisco.com (173.37.227.251) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.792.15; Sun, 24 Oct 2021 15:55:18 -0500
Received: from NAM10-MW2-obe.outbound.protection.outlook.com (72.163.14.9) by xfe-rcd-003.cisco.com (173.37.227.251) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.792.15 via Frontend Transport; Sun, 24 Oct 2021 15:55:18 -0500
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=LC9nYFTXWNFk9sVa8PR8Pntod1fyFfkZZOLyDHy53p2bkOIecuESQmkOPX/WwTQFPIzRY+/aN73QKZf4RQ+v9PtAwaZaudjgsLOyXvSn/32E29X1KBwq1A+vH2mi3ryh8o9V7IopFlgthJsxGjLYIMRDvJzy9Z5PGc9VQvyYiZuivCcD1GJAb3IGls2MuyNnFQneal9TnVHSnU9K+gXR42S3TlqfDhdmmYepFPSvkOWy2gWl/JMHXXA03kjnvkl2YGZ6huMXVlQSUaYNSWLiAo052o1x+bD0I35DMJtpi1cLYFQ83316ZCOl45kdlSndid8bMywPIwov9vpEcjNMOQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=FOeeUMEnLvimb5jDv9IXnkjskxJ9S3q8HlgS4Va75bI=; b=m2n76wQE7tmeRMTAOa7hiVL7ICVYY7Ul2wKuAZwRmWbNtB/eNA3MsQMmhryNED893vYmOlyG7/mKHDYC/u514OZAAG7OIz5jYOuqORH6ft6V9771QDZGZiecMy3DPe7Sa4J5ImdKefbFnfCKoS1j71+fTGbGiZdiQMgkO09eYtzcVdX2pTYoOlz2LR5cEY+27jF/rhBN9s5cmvuwgbSpCWE/eLXUDDqTX+BL7QSD/xrUMerW1PzBX2GktE87unwbYFW1kpKw1gIZHBa4s2KqEnLLTesTxT0fYvlmrNM4TRV2alt5cKmSx6RuywiBmpvRwYdjTtCIoAwDIDzlxvvQJg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=cisco.com; dmarc=pass action=none header.from=cisco.com; dkim=pass header.d=cisco.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cisco.onmicrosoft.com; s=selector2-cisco-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=FOeeUMEnLvimb5jDv9IXnkjskxJ9S3q8HlgS4Va75bI=; b=IPGFHsdifbyjHAFE//MzVP/jo8YwG7hegKMpAcdQsEiTqptCMkSxa/iN4NWmCj/ohbasmm4x/XNZi/XBefOqjG/KueSWTIh3R05WY/7jEik8D9To+ZzJZ6UEyhX6FLLTQm8J92bafVo217Z4fv6rlbBQRJCuqe6JqVzPMPJsYwE=
Received: from PH0PR11MB4966.namprd11.prod.outlook.com (2603:10b6:510:42::21) by PH0PR11MB4984.namprd11.prod.outlook.com (2603:10b6:510:34::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4628.16; Sun, 24 Oct 2021 20:55:17 +0000
Received: from PH0PR11MB4966.namprd11.prod.outlook.com ([fe80::fd55:3032:c8df:edad]) by PH0PR11MB4966.namprd11.prod.outlook.com ([fe80::fd55:3032:c8df:edad%3]) with mapi id 15.20.4628.020; Sun, 24 Oct 2021 20:55:17 +0000
From: "Eric Vyncke (evyncke)" <evyncke@cisco.com>
To: Andrew Alston <Andrew.Alston=40liquidtelecom.com@dmarc.ietf.org>, "v6ops@ietf.org" <v6ops@ietf.org>
Thread-Topic: [v6ops] Security issues in RFC8754 and related/subsequent drafts?
Thread-Index: AQHXyRlyE2pKHmh5b0+Yuk6vs+00KQ==
Date: Sun, 24 Oct 2021 20:55:17 +0000
Message-ID: <9BF3A772-EFCD-403E-9089-15FDC941EC69@cisco.com>
Accept-Language: fr-BE, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Microsoft-MacOutlook/16.54.21101001
authentication-results: dmarc.ietf.org; dkim=none (message not signed) header.d=none;dmarc.ietf.org; dmarc=none action=none header.from=cisco.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 38da5db0-4c53-4cb3-f444-08d99730959f
x-ms-traffictypediagnostic: PH0PR11MB4984:
x-microsoft-antispam-prvs: <PH0PR11MB4984AA9EFC43828A8D676D14A9829@PH0PR11MB4984.namprd11.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:10000;
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: ha06qPU71O1qSgojqlIbhekR02BkC8EBbHzseB3bfs/AeRuFmaNFkrqHFkJejmlktadRsLSnOpOq/DXswonKkyvPFtw+u/IVatRbV4UwW5x5zHk74nqaOBwn9QOrRZjyZKa0TgCJcHviJexBJJbNEgakkkAhfCHnZ2OyR3TTCDN0/GbVbLV7txiXH5PLwNpso9Ipvqu5aR/VV2M7C8s2rZAaXF9dP19mmchjdBtkw0xT46c8QJAbYOobtty+BACmdqfLZxGd96vCd6i8LrCQsjzqGz5wrcvJ44oijr++GcuPwe3g8QK00HhsCspf+zk7hIqVhGWzbdLMjQXXAT0OlHvLt//lAMtjv0nsxuqrdSDhFihMKZAUC5/NKmtnUG4VezPuN/KvSlg5SE1FOEPgVIZfsNWkBN6U7Kc+NafemmvpHpftPQZ6ZqEKOVRZV5OM2bWDv+vUBvE5OubYmZvNsXiI63T8U0dNKg/3wX9a+/0S9AO4xNrjqgKDxWKw1ENISXz/sg46b493tW8o3YW2xtkvoZ1cJL2x4utdKRqJ9aDYCVBeMnbov+ostxrFkR0aT1UOQInn1/rXCfCQqzk81osXoQUgFqlqo+I68HQdPml4suOTqAMy18zsjyjmoT7+qDA6LO7F5/JId74Q9WG/kaE6TmCz4wKZPvclo6LQ+jX7h5pBk4oLJqER3dNZQ/BAKJgJeD1hLhqk4i680cVITMfaFXAnszQEJ1eijFpC6ro=
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PH0PR11MB4966.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(366004)(6506007)(53546011)(83380400001)(186003)(66476007)(66946007)(2906002)(36756003)(64756008)(33656002)(316002)(110136005)(66446008)(66556008)(2616005)(6486002)(66574015)(8676002)(86362001)(76116006)(5660300002)(71200400001)(38070700005)(6512007)(91956017)(38100700002)(15650500001)(508600001)(8936002)(122000001)(45980500001); DIR:OUT; SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: vaP1m8x7FUcby7V/ylgTOPwDYQ4mQCuMlz3kJxDmAfKB5znc5I+cbGufl69haaGoDQoAh8G9psKANnQC90srtTju/cGH7SO+GoCZvsY/R5ifsfbhgz3g9PPsTeiuaVacN7WATeIcW6fkwm/5dvRssuMXFazogsTYJqSefAnVZGUHLqWaloMbNwcQKtnCbjgafhbqrbkppbGOYX/L7d4WuIuuAz27Nt0qgCuay5dLUdeSSbhbK3hs08m9wmvbjPwwzGrxA5T+fn2NUlF0cbAqNCRvp/QZggg4e1ORjFDFiAjvO4QYwyP6Z9VlxtB7obv2CMHl2dUbZaGP+A1rewW4wG8GkqsiZt/H5nhAFDE8CCvn6Kb62NBkS+nWZeBO0qiNCi6ykosGT09XFxkwuwBbQ9KBesd06/tEyK7HkYJtAHsoUHGyJsWB8ivjQuWCLFuMSfcLZWW4Ck6xOa0E8NwIiHwMkYx45GDSSkw72K/VHshwjvIBS5CbHJsPB3SRxBgClZ51NMDL8c013z4QW3YB5Rs/gBW1HhEktaH/mZmWEXhvKMss7PcCK8Tcq5FPzRWUJn4nkVFJX7JHoWx0SuHk3vsmVeFaQHjW1Y3vzE1xnnbZkx0ct/f6HcXmALlDo+YQ2yhYj4/qOEcV6iiEHpVIzDHyW/74iJ8bJOfA3+JIA4HWkIrr8ikVXlLmzbOU7O09C0bMh/CWlqJBwIC/yZiU7alDYqmvDkSmb8MJ3fJCBAPlD+kDsucT0f87pcNattqtEDzqVqkVxrVEqfjfI0ce/GpX2qdsjj9GXrl860tc8owvT0FRwrElJtb3GoVOfZiz7KodELGWqjSljCw3NNxiCET83wsAwO4r7icSOgj4FPPetUjJcjgT5YUfzstEwqGL3Dc2LviEMIQj3ktfKoQhPv7jyXfk1cXFv00pxwduRTX/HgVpdUK64NyyqajEuNpCedUQ2VsXY0NWz+ZpeMA/Ad6KI8a3OVJLa7+HShqW+1tta2dUXIqZLKhDDbO3MBsyeem0S2KMPukOTw24qIIhqftkRGlbGmnz7UGp9SdVNeizNG7FKM7BjGImYieqDqD9lPEA8BkUdmYfA0vxfNZ77P0uqpfHcOhFeWQryL61GgPH6+tUwJWsDN7B+JjOrkxeDmgPLPCZWGx2ylH5yhLXUNH5loLZaCBsTQBbb+JIO+6pRnOicbGvGugrwYWvebFNULAwmHYEiOSbGrzxSZxIE0FecWqTswzTVROKFxzTb+jrxjEmpzYT4zzEM7LxRq7qs69WHGeJykgJ4PcjR/nMGo2tWPU8DydfifWyxQNtE2GmRiyciVR03xG3Udmf1jRd0sNTzLKe8el9rGgRr36Zxzdyhd3sy7VYlI6N/3MxEpGHV7X0+UEeyQpS0HdPcODVrgL0CezVvDLyP9+Dk8C6L386MU3cLmEGjWmPEWOZvxDxYaW9lHLn6QV0fZujeKureoL48bfREuyH4LtOeDDePZs4V5gxwzwToENAoYMUpykPO0mwYKrqVC/n1mgafi/9dNCuoAw2YVN/8Vi9xQS2q+mdxBQKoKq889NmcESnMuBmFzM07UGJiMFG6gUnrTYval5MUW/JV2YuVOE8XTX7YbsBFiyd1AdVaSfRlmHhj6WciRudO6l1Inr7QHknpBdPVR+iEApHvsNTiXdcnboN+vJNme9pD0t8aKZhwIxs5mQ=
Content-Type: multipart/alternative; boundary="_000_9BF3A772EFCD403E908915FDC941EC69ciscocom_"
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: PH0PR11MB4966.namprd11.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 38da5db0-4c53-4cb3-f444-08d99730959f
X-MS-Exchange-CrossTenant-originalarrivaltime: 24 Oct 2021 20:55:17.2156 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 5ae1af62-9505-4097-a69a-c1553ef7840e
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: wtzyZjCjVtVGRHIc6nk3Jh6CCN/h8qFb7GKvzbKOHf2kj3rvm+6QZmkH5+7fL/L+0A+ROIaY+8J3uG39lH3Khg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR11MB4984
X-OriginatorOrg: cisco.com
X-Outbound-SMTP-Client: 173.37.102.22, xbe-rcd-007.cisco.com
X-Outbound-Node: rcdn-core-4.cisco.com
Archived-At: <https://mailarchive.ietf.org/arch/msg/v6ops/Cys10K5otV3UY2hqforJDNQXm0s>
Subject: Re: [v6ops] Security issues in RFC8754 and related/subsequent drafts?
X-BeenThere: v6ops@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: v6ops discussion list <v6ops.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/v6ops>, <mailto:v6ops-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/v6ops/>
List-Post: <mailto:v6ops@ietf.org>
List-Help: <mailto:v6ops-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/v6ops>, <mailto:v6ops-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sun, 24 Oct 2021 20:55:26 -0000

***Without any hat except for caring about security, IPv6, and innovation***



Thank you for correctly specifying that this concern applies generally to RFC 8547. I really appreciate your honesty.



But, I fail to understand whether the issue is limited to SRH or is actually applicable to any tunnel ? As you described, in any encapsulation mechanism, BCP38 will be applied on the outer header in the ‘underlay’ and the encapsulated packet will indeed traverse any network until the endpoint [1]. Therefore, to handle the case when one endpoint of the tunnel is compromised, the other endpoint should apply BCP38 on the decapsulated traffic based on the other side of the tunnel.



There are many well-known attacks (see RFC 6169 or section 2.7.2 of RFC 9099 for IPv6) on any tunnelling mechanism from sniffing to injection and others.



About the looping attacks, there is no amplification here as the compromised host needs to generate N packets to force the non-compromised tunnel endpoint to generate N (shorter) packets. The RFC 6324 describes a related attack by with amplification using ISATAP.



It is clear that tunnel endpoints (whether GRE, ISATAP, IPsec, or even SRH) should not trust blindly any packets and should only decapsulate valid packets (based at the minimum on source address and applying BCP38 and infrastructure ACL at their edge — if applicable). In the case of SRH[2] (or any RH actually even MIPv6 or RPL), this function should not be enabled by default and must be configured correctly.



The specific case of C-SID without any SRH (except a pseudo one) does not change the above reasoning.



Finally, the traversed nodes are simply forwarding IPv6 packets (whether they are UDP, TCP, RH-0, SRH, ….) without specific processing: they are not impacted at all (and as you wrote they should apply BCP38 on the outer header for basic sanity checks for other reasons).



Or am I missing something ?



Sincerely happy and curious to continue the discussion,



Regards



-éric





[1] after all, many VPNs encapsulate RFC 1918 traffic over the global Internet and BCP38 does not trigger on Internet routes for those VPNs

[2] see also section 7 of RFC 8754


From: v6ops <v6ops-bounces@ietf.org> on behalf of Andrew Alston <Andrew.Alston=40liquidtelecom.com@dmarc.ietf.org>
Date: Thursday, 21 October 2021 at 19:09
To: "v6ops@ietf.org" <v6ops@ietf.org>
Subject: [v6ops] Security issues in RFC8754 and related/subsequent drafts?

Hi V6Ops,

I thought I would raise the issues that follow here – and perhaps we can look and if these issues are real – and if so – what the solutions are.

During a close review of the compression proposals for SRv6 (CRH/G-Srv6/USID etc etc) I noticed some potential very real vulnerabilities in SRv6 itself – which by extensions would affect srv6, srv6 network programming and all the compression flavors – including CRH on which I am a co-author.  Having raised these issues with my CRH co-authors it was agreed that I raise these issues here so we could discuss them.

So a little background – SRrv6 is typically considered as something that should run in the confines of a  “limited-domain” – the question I started with is – can we actually define and maintain the boundaries of a limited-domain – and if so – how.  The conclusion I came to was that the concept of limited-domain in regards to SRv6 was an extremely fuzzy thing.

Now to understand this – we need first to look at the typical methods of protecting things


  *   In the case of MPLS – we have what I will loosely refer to as a “fail-closed” scenario – that is to say – unless MPLS is enabled explicitly on an interface – ingress packets will not be processed – this works because of a separate ether-type
  *   In the case of SR-MPLS – an identical situation occurs
  *   In the case of dodgy IGP traffic – again, we have a fail-closed scenario
  *   In the case of standard IPv6 – we have the option of utilizing BCP38 and ingress filtering – and the same thing in regards to IPv4.

Now – lets examine SRv6 for a second.

In a scenario of Host A (A linux box) with address 2001:db8:1:1::10/64   utilizing a gateway of 2001:db8:1:1::fefe – packets from 2001:db8:1:1::10 flowing towards that gateway would pass ingress filter checks based on BCP38 since the source address was legitimate, unless we explicitly filtered out where that packet could be destined for based on its DA (More on this in a bit)

Now, lets imagine for a second that Host A gets compromised – and an attack encapsulates a packet that has an entirely different source address – and whatever random DA address inside an SRH.  That SRH has a SID list in it – be it via a direct SID or via compression mechanisms, and a DA towards the SID itself.  The packet then routes – passing the ingress checks – and landing up at the router with the first SID.  Since this was the only SID in the list – the packet outer SRH is removed – and the inner packet is forwarded to the FIB – and you just bypassed BCP38.

In a similar mechanism, if the SRH states that the next protocol header is an IPv4 packet – when the de-encapsulation happens at last SID – the payload (the inner v4 packet) will then be forwarded via the FIB – and off you go.

Now, normally to protect against this as stated – an access list would be placed on the networks borders to prevent encapsulated packets and packets containing SID destinations from entering the network.  However – if we consider the above scenario where the attack is coming from a compromised server inside the traditional borders – we have a problem.  The application of access lists to every port containing a server is also potentially unrealistic and unmaintainable (not to mention could potentially on certain devices overload the TCAMs)

We also have an even more potentially deadly issue – and this is entirely theoretical at this point since I haven’t had time to really investigate and test it with real code.  Let us presume in the above that the same host A is compromised.  It encapsulates a packet with an SRH – the internal packet is an Ipv4 packet – and its destined at a broadcast address of an IP subnet that is bound to the same network as the de-encapsulating router.  The source of the internal v4 packet is spoofed – we’ve now managed to – through a use of the tunneling mechanism, effectively created a version of an old tool called smurf – in a manner that is going to be pretty hard to trace.

Another potential scenario – would be for an attacker in host A to jit some ebpf code – that matches – modifies and re-encapsulates incoming return packets and retransmits then. Each time applying the same SRH.  The inner packet could be pretty much anything – so long as the internal DA is set back to host A that is sending the packet.  The packet would then flow out as an SRH encapsulated packet, the outer header would get popped, the inner packet would flow back towards the original compromised host, which would match it modify it re-encapsulate it and start the loop again.  Doing this with ebpf and a kernel jit – would be pretty difficult to spot if you didn’t know what you are doing because you wouldn’t potentially see any obvious userland code.

As a final thought – consider a hypervisor based system – that has multiple VM’s on it – and the filtering implications of all of the above – and the filtering becomes even more difficult to maintain and more complex.

Again – the filtering per every port that may contains a server or a desktop – that may not be realistic – especially when we could be running multiple ports that are handing out source addresses via RA – so – how do we solve this – or is this a major flaw in srv6 itself – that needs some other solution (give srv6 its own protocol code and acknowledge that it isn’t ipv6 at all, allowing for a “fail-closed” scenario maybe?)

As an operator that runs extensive IPv6 – I’d really like to hear thoughts and comments and potentially we can find a way to address these issues.

Thanks

Andrew