FilePath#renameTo and FilePath#moveAllChildrenTo in Jenkins 2.318 and earlier, LTS 2.303.2 and earlier only check 'read' agent-to-controller access permission on the source path, instead of 'delete'.
{
"versions": [
{
"introduced": "0"
},
{
"fixed": "2.303.3"
},
{
"introduced": "0"
},
{
"fixed": "2.319"
}
]
}