repodata_schema2id in repodata.c in libsolv before 0.7.6 has a heap-based buffer over-read via a last schema whose length is less than the length of the input schema.
{ "binaries": [ { "binary_version": "0.6.11-1.1ubuntu0.1~esm1", "binary_name": "libsolv-perl" }, { "binary_version": "0.6.11-1.1ubuntu0.1~esm1", "binary_name": "libsolv-tools" }, { "binary_version": "0.6.11-1.1ubuntu0.1~esm1", "binary_name": "libsolv0" }, { "binary_version": "0.6.11-1.1ubuntu0.1~esm1", "binary_name": "libsolv0-dev" }, { "binary_version": "0.6.11-1.1ubuntu0.1~esm1", "binary_name": "libsolvext0" }, { "binary_version": "0.6.11-1.1ubuntu0.1~esm1", "binary_name": "libsolvext0-dev" }, { "binary_version": "0.6.11-1.1ubuntu0.1~esm1", "binary_name": "python-solv" }, { "binary_version": "0.6.11-1.1ubuntu0.1~esm1", "binary_name": "python3-solv" } ] }
{ "binaries": [ { "binary_version": "0.6.30-1ubuntu0.1~esm1", "binary_name": "libsolv-perl" }, { "binary_version": "0.6.30-1ubuntu0.1~esm1", "binary_name": "libsolv-tools" }, { "binary_version": "0.6.30-1ubuntu0.1~esm1", "binary_name": "libsolv0" }, { "binary_version": "0.6.30-1ubuntu0.1~esm1", "binary_name": "libsolv0-dev" }, { "binary_version": "0.6.30-1ubuntu0.1~esm1", "binary_name": "libsolvext0" }, { "binary_version": "0.6.30-1ubuntu0.1~esm1", "binary_name": "libsolvext0-dev" }, { "binary_version": "0.6.30-1ubuntu0.1~esm1", "binary_name": "python-solv" }, { "binary_version": "0.6.30-1ubuntu0.1~esm1", "binary_name": "python3-solv" } ] }