Re: [PATCH v3] ash: fix out-of-bounds read in ifsbreakup()

Denys Vlasenko via busybox <[email protected]> Mon, 6 Jul 2026 10:29:44 +0200
Newsgroups gmane.linux.busybox
Message-ID <CAK1hOcMyeQqgrRQicaOW-iTMQY=MU1xYGoe8jmc9tcgODNK4zA@mail.gmail.com>
QXBwbGllZCwgdGhhbmsgeW91LgoKQWx0aG91Z2ggdGhlIHJlcHJvZHVjZXI6CgpNPSdBQUFBQUFB
QUFBQUFBQUFBQScKcTAwKCl7Cjw8MDAwO2VjaG8KJHtEPyRNJE0kTSRNJE0kTX0KMDAwCn0KcTAw
CmVjaG8gRG9uZTokPwoKZG9lcyBub3QgcmVwcm9kdWNlIHRoZSBidWcgZm9yIG1lICh3b3JrcyBj
b3JyZWN0bHkgZXZlbiBiZWZvcmUgdGhlIHBhdGNoKS4KSXQgZG9lcyByZXByb2R1Y2UgdGhlIHBy
b2JsZW0gd2hlbiBydW4gYnkgZGFzaCAtIHByaW50cyBnYXJiYWdlOgoKJCBkYXNoIFJFUFJPCnp6
OiAzOiBEOiBBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEK77+9
77+9Vu+/vVYg77+9ViAo77+9ViA477+9ViBI77+9VgpEb25lOjAKCldlcmUgeW91IGFibGUgdG8g
cmVwcm9kdWNlIHRoZSBwcm9ibGVtIHdpdGggYnVzeWJveD8KSSdkIGxpa2UgdG8gYWRkIGl0IHRv
IHRoZSB0ZXN0c3VpdGUuCgpPbiBUaHUsIEp1biAxOCwgMjAyNiBhdCAxMDowNeKAr0FNIFNhbmdo
eXVuIFBhcmsgdmlhIGJ1c3lib3gKPGJ1c3lib3hAYnVzeWJveC5uZXQ+IHdyb3RlOgo+Cj4gaWZz
ZnJlZSgpIGRvZXMgbm90IG9ubHkgcmVsZWFzZSBhbGxvY2F0ZWQgaWZzcmVnaW9uIG5vZGVzOyBp
dCBhbHNvIGNsZWFycwo+IHRoZSBnbG9iYWwgSUZTIHJlZ2lvbiBzdGF0ZSB1c2VkIGJ5IGlmc2Jy
ZWFrdXAoKS4gSWYgYXJnc3RyKCkgcmFpc2VzIGFuCj4gZXJyb3Igd2hpbGUgZXhwYW5kaW5nIGFu
IGFyZ3VtZW50LCBhc2ggbG9uZ2ptcHMgb3V0IG9mIGV4cGFuZGFyZygpIGJlZm9yZQo+IHRoYXQg
Y2xlYW51cCBydW5zLCBsZWF2aW5nIHN0YWxlIElGUyBzcGxpdCBvZmZzZXRzIGJlaGluZC4KPgo+
IEEgbGF0ZXIgZXhwYW5zaW9uIGNhbiByZXVzZSB0aGUgc3RhY2sgZm9yIGEgc2hvcnRlciBzdHJp
bmcuIGlmc2JyZWFrdXAoKQo+IHRoZW4gc2VlcyB0aGUgc3RhbGUgSUZTIHN0YXRlLCB0cnVzdHMg
dGhlIG9sZCBvZmZzZXRzLCBhbmQgY2FuIHdhbGsgcGFzdAo+IHRoZSBjdXJyZW50IHN0YWNrIGJs
b2NrIGJlZm9yZSBkZXJlZmVyZW5jaW5nIHAuCj4KPiBGb2xsb3cgZGFzaCdzIHJvb3QtY2F1c2Ug
Zml4OiB3aGVuIGFuIGV4cGFuc2lvbi1yZWxhdGVkIGhhbmRsZXIgY2F0Y2hlcwo+IEVYRVJST1Ig
YW5kIGNvbnRpbnVlcywgcmVzdG9yZSB0aGUgaGFuZGxlciBhbmQgY2FsbCBpZnNmcmVlKCkuIEFw
cGx5Cj4gdGhlIGNsZWFudXAgdG8gcmVkaXJlY3RzYWZlKCksIGV4cGFuZHN0cigpLCBhbmQgZXZh
bHRyZWUoKS4KPgo+IFNpZ25lZC1vZmYtYnk6IFNhbmdoeXVuIFBhcmsgPHNhbmdoeXVuLnBhcmsu
Y251QGdtYWlsLmNvbT4KPiAtLS0KPiB2MzoKPiAtIFJlcGxhY2UgdGhlIHYyIGlmc2JyZWFrdXAo
KSBib3VuZHMgY2hlY2sgd2l0aCBkYXNoLXN0eWxlIGlmc2ZyZWUoKSBjbGVhbnVwLgo+IC0gQ292
ZXIgcmVkaXJlY3RzYWZlKCksIGV4cGFuZHN0cigpLCBhbmQgZXZhbHRyZWUoKS4KPiB2MjogaHR0
cHM6Ly9saXN0cy5idXN5Ym94Lm5ldC9waXBlcm1haWwvYnVzeWJveC8yMDI2LUp1bmUvMDkyMzU3
Lmh0bWwKPiB2MTogaHR0cHM6Ly9saXN0cy5idXN5Ym94Lm5ldC9waXBlcm1haWwvYnVzeWJveC8y
MDI2LUp1bmUvMDkyMzUzLmh0bWwKPgo+ICBzaGVsbC9hc2guYyB8IDI0ICsrKysrKysrKysrKysr
Ky0tLS0tLS0tLQo+ICAxIGZpbGUgY2hhbmdlZCwgMTUgaW5zZXJ0aW9ucygrKSwgOSBkZWxldGlv
bnMoLSkKPgo+IGRpZmYgLS1naXQgYS9zaGVsbC9hc2guYyBiL3NoZWxsL2FzaC5jCj4gaW5kZXgg
ZmI4ODdmMy4uYjhmZjY3YiAxMDA2NDQKPiAtLS0gYS9zaGVsbC9hc2guYwo+ICsrKyBiL3NoZWxs
L2FzaC5jCj4gQEAgLTU1NzQsNiArNTU3NCw3IEBAIHdyaXRlMnBpcGUoaW50IHBpcFsyXSwgY29u
c3QgY2hhciAqcCwgc2l6ZV90IGxlbikKPgo+ICAvKiBvcGVuaGVyZSBuZWVkcyB0aGlzIGZvcndh
cmQgcmVmZXJlbmNlICovCj4gIHN0YXRpYyB2b2lkIGV4cGFuZGhlcmUodW5pb24gbm9kZSAqYXJn
KTsKPiArc3RhdGljIHZvaWQgaWZzZnJlZSh2b2lkKTsKPiAgc3RhdGljIGludAo+ICBvcGVuaGVy
ZSh1bmlvbiBub2RlICpyZWRpcikKPiAgewo+IEBAIC01OTk4LDYgKzU5OTksMTcgQEAgcmVkaXJl
Y3QodW5pb24gbm9kZSAqcmVkaXIsIGludCBmbGFncykKPiAgICAgICAgIC8vICAgICAgcHJldmVy
cm91dF9mZCA9IGNvcGllZF9mZDI7Cj4gIH0KPgo+ICtzdGF0aWMgdm9pZAo+ICtyZXN0b3JlX2hh
bmRsZXJfZXhwYW5kYXJnKHN0cnVjdCBqbXBsb2MgKnNhdmVoYW5kbGVyLCBpbnQgZXJyKQo+ICt7
Cj4gKyAgICAgICBleGNlcHRpb25faGFuZGxlciA9IHNhdmVoYW5kbGVyOwo+ICsgICAgICAgaWYg
KGVycikgewo+ICsgICAgICAgICAgICAgICBpZiAoZXhjZXB0aW9uX3R5cGUgIT0gRVhFUlJPUikK
PiArICAgICAgICAgICAgICAgICAgICAgICBsb25nam1wKGV4Y2VwdGlvbl9oYW5kbGVyLT5sb2Ms
IDEpOwo+ICsgICAgICAgICAgICAgICBpZnNmcmVlKCk7Cj4gKyAgICAgICB9Cj4gK30KPiArCj4g
IHN0YXRpYyBpbnQKPiAgcmVkaXJlY3RzYWZlKHVuaW9uIG5vZGUgKnJlZGlyLCBpbnQgZmxhZ3Mp
Cj4gIHsKPiBAQCAtNjAxMyw5ICs2MDI1LDcgQEAgcmVkaXJlY3RzYWZlKHVuaW9uIG5vZGUgKnJl
ZGlyLCBpbnQgZmxhZ3MpCj4gICAgICAgICAgICAgICAgIGV4Y2VwdGlvbl9oYW5kbGVyID0gJmpt
cGxvYzsKPiAgICAgICAgICAgICAgICAgcmVkaXJlY3QocmVkaXIsIGZsYWdzKTsKPiAgICAgICAg
IH0KPiAtICAgICAgIGV4Y2VwdGlvbl9oYW5kbGVyID0gc2F2ZWhhbmRsZXI7Cj4gLSAgICAgICBp
ZiAoZXJyICYmIGV4Y2VwdGlvbl90eXBlICE9IEVYRVJST1IpCj4gLSAgICAgICAgICAgICAgIGxv
bmdqbXAoZXhjZXB0aW9uX2hhbmRsZXItPmxvYywgMSk7Cj4gKyAgICAgICByZXN0b3JlX2hhbmRs
ZXJfZXhwYW5kYXJnKHNhdmVoYW5kbGVyLCBlcnIpOwo+ICAgICAgICAgUkVTVE9SRV9JTlQoc2F2
ZWludCk7Cj4gICAgICAgICByZXR1cm4gZXJyOwo+ICB9Cj4gQEAgLTk3OTIsOSArOTgwMiw3IEBA
IGV2YWx0cmVlKHVuaW9uIG5vZGUgKm4sIGludCBmbGFncykKPiAgICAgICAgICAgICAgICAgICAg
ICAgICB0cmFwX2RlcHRoLS07Cj4gICAgICAgICAgICAgICAgICAgICAgICAgaW5fdHJhcF9FUlIg
PSAwOwo+Cj4gLSAgICAgICAgICAgICAgICAgICAgICAgZXhjZXB0aW9uX2hhbmRsZXIgPSBzYXZl
aGFuZGxlcjsKPiAtICAgICAgICAgICAgICAgICAgICAgICBpZiAoZXJyICYmIGV4Y2VwdGlvbl90
eXBlICE9IEVYRVJST1IpCj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb25nam1w
KGV4Y2VwdGlvbl9oYW5kbGVyLT5sb2MsIDEpOwo+ICsgICAgICAgICAgICAgICAgICAgICAgIHJl
c3RvcmVfaGFuZGxlcl9leHBhbmRhcmcoc2F2ZWhhbmRsZXIsIGVycik7Cj4KPiAgICAgICAgICAg
ICAgICAgICAgICAgICBleGl0c3RhdHVzID0gc2F2ZXN0YXR1czsKPiAgICAgICAgICAgICAgICAg
fQo+IEBAIC0xNDAwOSw5ICsxNDAxNyw3IEBAIGV4cGFuZHN0cihjb25zdCBjaGFyICpwcywgaW50
IHN5bnRheF90eXBlKQo+ICAgICAgICAgcmVzdWx0ID0gc3RhY2tibG9jaygpOwo+Cj4gIG91dDoK
PiAtICAgICAgIGV4Y2VwdGlvbl9oYW5kbGVyID0gc2F2ZWhhbmRsZXI7Cj4gLSAgICAgICBpZiAo
ZXJyICYmIGV4Y2VwdGlvbl90eXBlICE9IEVYRVJST1IpCj4gLSAgICAgICAgICAgICAgIGxvbmdq
bXAoZXhjZXB0aW9uX2hhbmRsZXItPmxvYywgMSk7Cj4gKyAgICAgICByZXN0b3JlX2hhbmRsZXJf
ZXhwYW5kYXJnKHNhdmVoYW5kbGVyLCBlcnIpOwo+Cj4gICAgICAgICBkb3Byb21wdCA9IHNhdmVw
cm9tcHQ7Cj4gICAgICAgICAvKiBUcnk6IFBTMT0nYHh4eChgJyAqLwo+IC0tCj4gMi40OC4xCj4g
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPiBidXN5Ym94
IG1haWxpbmcgbGlzdAo+IGJ1c3lib3hAYnVzeWJveC5uZXQKPiBodHRwczovL2xpc3RzLmJ1c3li
b3gubmV0L21haWxtYW4vbGlzdGluZm8vYnVzeWJveApfX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fXwpidXN5Ym94IG1haWxpbmcgbGlzdApidXN5Ym94QGJ1c3li
b3gubmV0Cmh0dHBzOi8vbGlzdHMuYnVzeWJveC5uZXQvbWFpbG1hbi9saXN0aW5mby9idXN5Ym94
Cg==