In GDAL 3.1.0 through 3.13.0, scanForGeometryContainers in the netCDF driver allows code execution via a stack-based buffer overflow. It reads a geometry attribute into a fixed-size stack buffer without validating the attribute length. The attacker embeds the exploit as an oversized geometry attribute in a crafted NetCDF file. This achieves arbitrary code execution on the server running GDAL. This is in frmts/netcdf/netcdfsg.cpp.
{
"binaries": [
{
"binary_name": "gdal-bin",
"binary_version": "2.2.3+dfsg-2"
},
{
"binary_name": "gdal-data",
"binary_version": "2.2.3+dfsg-2"
},
{
"binary_name": "libgdal-java",
"binary_version": "2.2.3+dfsg-2"
},
{
"binary_name": "libgdal-perl",
"binary_version": "2.2.3+dfsg-2"
},
{
"binary_name": "libgdal20",
"binary_version": "2.2.3+dfsg-2"
},
{
"binary_name": "python-gdal",
"binary_version": "2.2.3+dfsg-2"
},
{
"binary_name": "python3-gdal",
"binary_version": "2.2.3+dfsg-2"
}
]
}{
"binaries": [
{
"binary_name": "gdal-bin",
"binary_version": "3.0.4+dfsg-1build3"
},
{
"binary_name": "gdal-data",
"binary_version": "3.0.4+dfsg-1build3"
},
{
"binary_name": "libgdal-java",
"binary_version": "3.0.4+dfsg-1build3"
},
{
"binary_name": "libgdal-perl",
"binary_version": "3.0.4+dfsg-1build3"
},
{
"binary_name": "libgdal26",
"binary_version": "3.0.4+dfsg-1build3"
},
{
"binary_name": "python3-gdal",
"binary_version": "3.0.4+dfsg-1build3"
}
]
}{
"binaries": [
{
"binary_name": "gdal-bin",
"binary_version": "3.4.1+dfsg-1build4"
},
{
"binary_name": "gdal-data",
"binary_version": "3.4.1+dfsg-1build4"
},
{
"binary_name": "libgdal-perl",
"binary_version": "3.4.1+dfsg-1build4"
},
{
"binary_name": "libgdal30",
"binary_version": "3.4.1+dfsg-1build4"
},
{
"binary_name": "python3-gdal",
"binary_version": "3.4.1+dfsg-1build4"
}
]
}{
"binaries": [
{
"binary_name": "gdal-bin",
"binary_version": "3.8.4+dfsg-3ubuntu3"
},
{
"binary_name": "gdal-data",
"binary_version": "3.8.4+dfsg-3ubuntu3"
},
{
"binary_name": "gdal-plugins",
"binary_version": "3.8.4+dfsg-3ubuntu3"
},
{
"binary_name": "libgdal34t64",
"binary_version": "3.8.4+dfsg-3ubuntu3"
},
{
"binary_name": "python3-gdal",
"binary_version": "3.8.4+dfsg-3ubuntu3"
}
]
}{
"binaries": [
{
"binary_name": "gdal-bin",
"binary_version": "3.10.3+dfsg-1build2"
},
{
"binary_name": "gdal-data",
"binary_version": "3.10.3+dfsg-1build2"
},
{
"binary_name": "gdal-plugins",
"binary_version": "3.10.3+dfsg-1build2"
},
{
"binary_name": "libgdal36",
"binary_version": "3.10.3+dfsg-1build2"
},
{
"binary_name": "python3-gdal",
"binary_version": "3.10.3+dfsg-1build2"
}
]
}{
"binaries": [
{
"binary_name": "gdal-bin",
"binary_version": "3.12.2+dfsg-1build2"
},
{
"binary_name": "gdal-data",
"binary_version": "3.12.2+dfsg-1build2"
},
{
"binary_name": "gdal-plugins",
"binary_version": "3.12.2+dfsg-1build2"
},
{
"binary_name": "libgdal38",
"binary_version": "3.12.2+dfsg-1build2"
},
{
"binary_name": "python3-gdal",
"binary_version": "3.12.2+dfsg-1build2"
}
]
}{
"binaries": [
{
"binary_name": "gdal-bin",
"binary_version": "1.10.1+dfsg-5ubuntu1+esm2"
},
{
"binary_name": "libgdal-java",
"binary_version": "1.10.1+dfsg-5ubuntu1+esm2"
},
{
"binary_name": "libgdal-perl",
"binary_version": "1.10.1+dfsg-5ubuntu1+esm2"
},
{
"binary_name": "libgdal1h",
"binary_version": "1.10.1+dfsg-5ubuntu1+esm2"
},
{
"binary_name": "python-gdal",
"binary_version": "1.10.1+dfsg-5ubuntu1+esm2"
},
{
"binary_name": "python3-gdal",
"binary_version": "1.10.1+dfsg-5ubuntu1+esm2"
}
]
}{
"binaries": [
{
"binary_name": "gdal-bin",
"binary_version": "1.11.3+dfsg-3ubuntu0.1~esm1"
},
{
"binary_name": "libgdal-java",
"binary_version": "1.11.3+dfsg-3ubuntu0.1~esm1"
},
{
"binary_name": "libgdal-perl",
"binary_version": "1.11.3+dfsg-3ubuntu0.1~esm1"
},
{
"binary_name": "libgdal1i",
"binary_version": "1.11.3+dfsg-3ubuntu0.1~esm1"
},
{
"binary_name": "python-gdal",
"binary_version": "1.11.3+dfsg-3ubuntu0.1~esm1"
},
{
"binary_name": "python3-gdal",
"binary_version": "1.11.3+dfsg-3ubuntu0.1~esm1"
}
]
}