提出 #857043: Node.js @carto/api-client 0.5.29 Prototype Pollution情報

タイトルNode.js @carto/api-client 0.5.29 Prototype Pollution
説明@carto/api-client exposes addFilter(filters, options) for adding filters to a filter object. The column option is used directly as a dynamic property name on a normal object. Passing column: "__proto__" causes the function to write the filter data onto Object.prototype. The vulnerable logic is in src/filters.ts: export function addFilter( filters: Record<string, Filter>, {column, type, values, owner}: AddFilterOptions ): Record<string, Filter> { if (!filters[column]) { filters[column] = {}; } const filter = {values, owner} as FilterTypeOptions<typeof type>; (filters[column][type] as FilterTypeOptions<typeof type>) = filter; return filters; } When column is __proto__, filters[column] resolves to Object.prototype instead of a safe own property on filters. The guard therefore does not create a new own object:
ソース⚠️ https://github.com/CartoDB/carto-api-client/issues/299
ユーザー
 wjm1 (UID 98929)
送信2026年06月12日 15:35 (1 月 ago)
モデレーション2026年07月17日 21:30 (1 month later)
ステータス承諾済み
VulDBエントリ379917 [CartoDB carto-api-client 0.5.29 src/filters.ts addFilter column 特権昇格]
ポイント20

Do you know our Splunk app?

Download it now for free!