Summary
A segmentation fault occurs with ION-DTN BPv7 software version 4.1.3 when a bundle with a Destination Endpoint ID (EID) set to dtn:none
is received. This vulnerability was found during fuzz testing.
This causes the node to become unresponsive to incoming bundles, leading to a Denial of Service (DoS) condition.
Remediation
Upgrade to ION version 4.1.3s (scheduled for release in December of 2024)
Work-around
For users unable to upgrade, please apply this patch to version 4.1.3.
---
index a329a7af..c98a2bf1 100644
--- a/bpv6/library/libbpP.c
+++ b/bpv6/library/libbpP.c
@@ -5941,7 +5941,7 @@ int forwardBundle(Object bundleObj, Bundle *bundle, char *eid)
return bpAbandon(bundleObj, bundle, BP_REASON_NO_ROUTE);
}
- restoreEidString(&stationMetaEid);
+ /* Check for a null-endpoint dtn:none or ipn:0.0 */
if (stationMetaEid.nullEndpoint)
{
/* Forwarder has determined that the bundle
@@ -5952,6 +5952,9 @@ int forwardBundle(Object bundleObj, Bundle *bundle, char *eid)
return bpAbandon(bundleObj, bundle, BP_REASON_NO_ROUTE);
}
+ /* Not a null-endpoint */
+ restoreEidString(&stationMetaEid);
+
/* We're going to queue this bundle for processing by
* the forwarder for the station EID's scheme name.
* Push the station EID onto the stations stack in case
--- a/bpv7/library/libbpP.c
+++ b/bpv7/library/libbpP.c
@@ -5976,7 +5976,7 @@ int forwardBundle(Object bundleObj, Bundle *bundle, char *eid)
return bpAbandon(bundleObj, bundle, BP_REASON_NO_ROUTE);
}
- restoreEidString(&stationMetaEid);
+ /* Check for null-endpoint destination dtn:none or ipn:0.0 */
if (stationMetaEid.nullEndpoint)
{
/* Forwarder has determined that the bundle
@@ -5987,6 +5987,9 @@ int forwardBundle(Object bundleObj, Bundle *bundle, char *eid)
return bpAbandon(bundleObj, bundle, BP_REASON_NO_ROUTE);
}
+ /* Not a null-endpoint */
+ restoreEidString(&stationMetaEid);
+
/* We're going to queue this bundle for processing by
* the forwarder for the station EID's scheme name.
* Push the station EID onto the stations stack in case
--
Summary
A segmentation fault occurs with ION-DTN BPv7 software version 4.1.3 when a bundle with a Destination Endpoint ID (EID) set to
dtn:none
is received. This vulnerability was found during fuzz testing.This causes the node to become unresponsive to incoming bundles, leading to a Denial of Service (DoS) condition.
Remediation
Upgrade to ION version 4.1.3s (scheduled for release in December of 2024)
Work-around
For users unable to upgrade, please apply this patch to version 4.1.3.