In Shadow 4.13, it is possible to inject control characters into fields provided to the SUID program chfn (change finger). Although it is not possible to exploit this directly (e.g., adding a new user fails because \n is in the block list), it is possible to misrepresent the /etc/passwd file when viewed. Use of \r manipulations and Unicode characters to work around blocking of the : character make it possible to give the impression that a new user has been added. In other words, an adversary may be able to convince a system administrator to take the system offline (an indirect, social-engineered denial of service) by demonstrating that "cat /etc/passwd" shows a rogue user account.
[
{
"signature_version": "v1",
"source": "https://github.com/shadow-maint/shadow/commit/e5905c4b84d4fb90aefcd96ee618411ebfac663d",
"deprecated": false,
"target": {
"file": "lib/fields.c",
"function": "valid_field"
},
"id": "CVE-2023-29383-42928cd8",
"digest": {
"function_hash": "142102838643998942698676818725186990633",
"length": 385.0
},
"signature_type": "Function"
},
{
"signature_version": "v1",
"source": "https://github.com/shadow-maint/shadow/commit/e5905c4b84d4fb90aefcd96ee618411ebfac663d",
"deprecated": false,
"target": {
"file": "lib/fields.c"
},
"id": "CVE-2023-29383-aaf57df7",
"digest": {
"threshold": 0.9,
"line_hashes": [
"49627020730002805229845557872729510581",
"302083583822194530407730894214928458707",
"101401909675513743295097790209324971142",
"130114865874619688031808491230159968889",
"49885016258888287298503419801975734582",
"30181199454884574248963891449059086028",
"106742429399750711901350404409613644568",
"126847032506265635540185127431224144619",
"61834813723290544951875996927102114812"
]
},
"signature_type": "Line"
}
]