In FRRouting FRR before 8.5, the service user (usually frr) can escalate its privileges to root by monitoring the configuration directory (/etc/frr) and replacing config files upon creation with, for example, symlinks to change the ownership of arbitrary files. This is a TOCTOU Race Condition caused by a combination of touch and chown.
{
"binaries": [
{
"binary_name": "quagga",
"binary_version": "1.2.4-4ubuntu0.5"
},
{
"binary_name": "quagga-bgpd",
"binary_version": "1.2.4-4ubuntu0.5"
},
{
"binary_name": "quagga-core",
"binary_version": "1.2.4-4ubuntu0.5"
},
{
"binary_name": "quagga-isisd",
"binary_version": "1.2.4-4ubuntu0.5"
},
{
"binary_name": "quagga-ospf6d",
"binary_version": "1.2.4-4ubuntu0.5"
},
{
"binary_name": "quagga-ospfd",
"binary_version": "1.2.4-4ubuntu0.5"
},
{
"binary_name": "quagga-pimd",
"binary_version": "1.2.4-4ubuntu0.5"
},
{
"binary_name": "quagga-ripd",
"binary_version": "1.2.4-4ubuntu0.5"
},
{
"binary_name": "quagga-ripngd",
"binary_version": "1.2.4-4ubuntu0.5"
}
]
}{
"binaries": [
{
"binary_name": "frr",
"binary_version": "8.1-1ubuntu1.16"
},
{
"binary_name": "frr-pythontools",
"binary_version": "8.1-1ubuntu1.16"
},
{
"binary_name": "frr-rpki-rtrlib",
"binary_version": "8.1-1ubuntu1.16"
},
{
"binary_name": "frr-snmp",
"binary_version": "8.1-1ubuntu1.16"
}
]
}{
"binaries": [
{
"binary_name": "frr",
"binary_version": "8.4.4-1.1ubuntu6.7"
},
{
"binary_name": "frr-pythontools",
"binary_version": "8.4.4-1.1ubuntu6.7"
},
{
"binary_name": "frr-rpki-rtrlib",
"binary_version": "8.4.4-1.1ubuntu6.7"
},
{
"binary_name": "frr-snmp",
"binary_version": "8.4.4-1.1ubuntu6.7"
}
]
}{
"binaries": [
{
"binary_name": "frr",
"binary_version": "10.5.1-1ubuntu4.1"
},
{
"binary_name": "frr-pythontools",
"binary_version": "10.5.1-1ubuntu4.1"
},
{
"binary_name": "frr-rpki-rtrlib",
"binary_version": "10.5.1-1ubuntu4.1"
},
{
"binary_name": "frr-snmp",
"binary_version": "10.5.1-1ubuntu4.1"
}
]
}{
"binaries": [
{
"binary_name": "quagga",
"binary_version": "1.2.4-1ubuntu0.1~esm2"
},
{
"binary_name": "quagga-bgpd",
"binary_version": "1.2.4-1ubuntu0.1~esm2"
},
{
"binary_name": "quagga-core",
"binary_version": "1.2.4-1ubuntu0.1~esm2"
},
{
"binary_name": "quagga-isisd",
"binary_version": "1.2.4-1ubuntu0.1~esm2"
},
{
"binary_name": "quagga-ospf6d",
"binary_version": "1.2.4-1ubuntu0.1~esm2"
},
{
"binary_name": "quagga-ospfd",
"binary_version": "1.2.4-1ubuntu0.1~esm2"
},
{
"binary_name": "quagga-pimd",
"binary_version": "1.2.4-1ubuntu0.1~esm2"
},
{
"binary_name": "quagga-ripd",
"binary_version": "1.2.4-1ubuntu0.1~esm2"
},
{
"binary_name": "quagga-ripngd",
"binary_version": "1.2.4-1ubuntu0.1~esm2"
}
]
}{
"binaries": [
{
"binary_name": "frr",
"binary_version": "7.2.1-1ubuntu0.2+esm4"
},
{
"binary_name": "frr-pythontools",
"binary_version": "7.2.1-1ubuntu0.2+esm4"
},
{
"binary_name": "frr-rpki-rtrlib",
"binary_version": "7.2.1-1ubuntu0.2+esm4"
},
{
"binary_name": "frr-snmp",
"binary_version": "7.2.1-1ubuntu0.2+esm4"
}
]
}