Π ΠΎΡΠ²ΠΎΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡ Fluent Bit Π΅ ΠΎΡΠΊΡΠΈΡΠ° ΡΡΠ·Π²ΠΈΠΌΠΎΡΡ (CVE-2024-4323), ΠΊΠΎΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄ΠΈΡΡΠ°Π½ΡΠΈΠΎΠ½Π½ΠΎ ΠΏΡΠ΅Π΄ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅ Π½Π° ΠΏΠΎΠ²ΡΠ΅ΠΆΠ΄Π°Π½Π΅ Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ°, ΠΊΠΎΠ΅ΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° ΠΏΡΠΈΡΠΈΠ½ΡΠ²Π°Π½Π΅ Π½Π° ΠΎΡΠΊΠ°Π· Π² ΠΎΠ±ΡΠ»ΡΠΆΠ²Π°Π½Π΅ΡΠΎ, ΠΈΠ·ΡΠΈΡΠ°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ ΠΈ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»Π½ΠΎ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΡΠ²ΠΎΠΉ ΠΊΠΎΠ΄ Π½Π° ΡΡΡΠ²ΡΡΠ°. ΠΡΠΎΠ±Π»Π΅ΠΌΡΡ, ΠΏΠΎΠ»ΡΡΠΈΠ» ΠΊΠΎΠ΄ΠΎΠ²ΠΎΡΠΎ ΠΈΠΌΠ΅ βΠΠΈΠ½Π³Π²ΠΈΡΡΠΈΡΠ΅Π½ Π΄ΡΡΠ²ΠΎΡΠ΅ΠΊΠ°Ρβ, ΠΈΠΌΠ° ΠΊΡΠΈΡΠΈΡΠ½ΠΎ Π½ΠΈΠ²ΠΎ Π½Π° ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ (9.8 ΠΎΡ 10). Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡΡΠ° ΡΠ΅ ΠΏΡΠΎΡΠ²ΡΠ²Π° ΠΎΡ Π²Π΅ΡΡΠΈΡ 2.0.7 ΠΈ Π΅ ΠΎΡΡΡΡΠ°Π½Π΅Π½Π° Π² ΠΊΠΎΡΠΈΠ³ΠΈΡΠ°ΡΠΈΡΠ΅ Π°ΠΊΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ 2.2.3 ΠΈ 3.0.4.
Fluent Bit ΠΈΠΌΠ° Π½Π°Π΄ 10 ΠΌΠΈΠ»ΠΈΠ°ΡΠ΄Π° Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΡ ΠΈ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΠΈ ΡΡΠ±ΠΈΡΠ°Π½Π΅ Π½Π° Π»ΠΎΠ³ΠΎΠ²Π΅ ΠΈ ΠΌΠ΅ΡΡΠΈΠΊΠΈ Π² ΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΠΈ ΠΎΠ±Π»Π°ΡΠ½ΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΈ, ΡΡΠ΅Π΄ ΠΊΠΎΠΈΡΠΎ ΡΠ΅ ΠΎΡΠΊΡΠΎΡΠ²Π°Ρ Google Cloud, AWS, DigitalOcean, vmWare, Cisco, Microsoft, Lyft, LinkedIn, Walmart, Couchbase, Swift ΠΈ Dell. ΠΡΠ΅Π· ΠΌΠ°ΡΡ ΡΠ° ΠΈΠ·ΡΠ΅Π³Π»Π΅Π½ΠΈ 13 ΠΌΠ»Π½ Docker-ΠΎΠ±ΡΠ°Π·Π° Ρ Fluent Bit. Π‘ΠΏΠΎΡΠ΅Π΄ Π΄Π°Π½Π½ΠΈΡΠ΅ Π½Π° ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡΡΠ° Tenable, ΠΎΡΠΊΡΠΈΠ»Π° ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈΡΠ΅, ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π»Π°ΡΠ½ΠΈ ΡΡΠ»ΡΠ³ΠΈ Π½Π΅ Π±Π»ΠΎΠΊΠΈΡΠ°Ρ Π΄ΠΎΡΡΡΠΏΠ° Π΄ΠΎ Web API Π·Π° ΠΈΠ·Π²Π»ΠΈΡΠ°Π½Π΅ Π½Π° Π²ΡΡΡΠ΅ΡΠ½ΠΈ ΠΌΠ΅ΡΡΠΈΠΊΠΈ, ΠΊΠ°ΡΠΎ uptime, ΠΈ Π·Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° Π·Π°ΠΏΠΈΡΠ²Π°Π½ΠΈΡΡΠ° ΠΊΡΠΌ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ API ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Fluent Bit.
Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡΡΠ° Π΅ ΠΏΡΠΈΡΠΈΠ½Π΅Π½Π° ΠΎΡ Π³ΡΠ΅ΡΠΊΠ° Π² Π²Π³ΡΠ°Π΄Π΅Π½ΠΎΡΠΎ HTTP-ΡΡΡΠ²ΡΡ, ΠΏΡΠΎΡΠ²ΡΠ²Π°ΡΠ° ΡΠ΅ ΠΏΡΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° Π²ΡΠ½ΡΠ½ΠΈ Π·Π°ΡΠ²ΠΊΠΈ ΡΡΠ΅Π· API-Π²ΠΈΠ·ΠΎΠ²Π΅ΡΠ΅ β/api/v1/tracesβ ΠΈ β/api/v1/traceβ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°ΡΠ° Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈΡΠ΅ Π΄Π° ΠΏΠΎΠ»ΡΡΠ°Π²Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° Π½Π°ΡΡΡΠΎΠΉΠΊΠΈΡΠ΅ Π·Π° ΡΡΠ°ΡΠΈΡΠΎΠ²ΠΊΠ°. ΠΠ΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ Π²ΠΊΠ»ΡΡΠ΅Π½Π°ΡΠ° ΡΡΠ°ΡΠΈΡΠΎΠ²ΠΊΠ°, ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΡ ΠΈΠΌΠ° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π΄Π° ΡΠ΅ ΠΎΠ±ΡΡΠ½Π΅ ΠΊΡΠΌ Π΄Π°Π½Π½ΠΈΡΠ΅ Π½Π° API, Π°ΠΊΠΎ ΠΌΡ Π΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π΅Π½ ΡΡΠΎΡΠ²Π΅ΡΠ΅Π½ Π΄ΠΎΡΡΡΠΏ. ΠΡΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° Π½Π° Π²Ρ ΠΎΠ΄ΡΡΠΈΡΠ΅ Π·Π°ΡΠ²ΠΊΠΈ ΡΠΈΠΏΠΎΠ²Π΅ΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ Π²Ρ ΠΎΠ΄Π½ΠΈ ΠΏΠΎΠ»Π΅ΡΠ°, ΠΈΠ·ΠΏΡΠ°ΡΠ΅Π½ΠΈ ΡΡΠ΅Π· ΠΌΠ°ΡΠΈΠ² Π² JSON Π±Π»ΠΎΠΊΠ°, Π±ΡΡ Π° ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠΈΡΠ°Π½ΠΈ ΠΏΠΎΠ³ΡΠ΅ΡΠ½ΠΎ ΠΈ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΠΎΡΠ°ΠΊΠ²Π°Π½ΠΈΡ ΡΠΈΠΏ ΠΏΠΎΠ»Π΅ Π±ΡΡ Π° ΡΡΠ»ΠΊΡΠ²Π°Π½ΠΈ ΠΊΠ°ΡΠΎ ΡΠΈΠΏ MSGPACK_OBJECT_STR. ΠΠΎΡΠΎΡΠ²Π°Π½Π΅ΡΠΎ Π² ΠΌΠ°ΡΠΈΠ²Π° Π½Π° Π²Ρ ΠΎΠ΄Π½ΠΈ Π΄Π°Π½Π½ΠΈ, ΠΊΠΎΠΈΡΠΎ Π½Π΅ ΡΠ° ΠΎΡ ΡΠΈΠΏ Π½ΠΈΠ·, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ΅Π»ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈ, Π²ΠΎΠ΄Π΅ΡΠ΅ Π΄ΠΎ ΠΏΠΎΠ²ΡΠ΅ΠΆΠ΄Π°Π½Π΅ Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ°, ΡΡΠΉ ΠΊΠ°ΡΠΎ ΡΡΠ½ΠΊΡΠΈΡΡΠ° flb_sds_create_len() ΠΈΠ·Π²Π»ΠΈΡΠ°ΡΠ΅ ΠΏΠΎΠ΄Π°Π΄Π΅Π½ΠΎΡΠΎ ΡΡΠ»ΠΎ ΡΠΈΡΠ»ΠΎ ΠΊΠ°ΡΠΎ ΠΏΠΎΠ»Π΅ Ρ ΡΠ°Π·ΠΌΠ΅Ρ Π½Π° Π½ΠΈΠ·.
ΠΡΠΈΠΌΠ΅Ρ Π·Π° Π·Π°ΡΠ²ΠΊΠ°, ΠΊΠΎΡΡΠΎ ΠΏΡΠ΅Π΄ΠΈΠ·Π²ΠΈΠΊΠ²Π° Π°Π²Π°ΡΠΈΠΉΠ½ΠΎ Π·Π°Π²ΡΡΡΠ²Π°Π½Π΅: python3 -c 'print("{\"output\":\"stdout\", \"params\": {\"format\": \"json\"},\"inputs\":[\"" + "A"*8 + "\"," + str(0xffffffff) + ", \"" + "B"*500 + "\"]}' > test curl -v http://:2020/api/v1/traces/ -H "Content-Type: application/json" -H "Expect: " --data "@test"
Π Ρ
ΠΎΠ΄Π° Π½Π° Π΅ΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠΈΡΠ΅ ΠΈΠ·ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΠΈΡΠ΅ ΡΡΠΏΡΡ
Π° Π΄Π° ΠΏΠΎΡΡΠΈΠ³Π½Π°Ρ Π°Π²Π°ΡΠΈΠΉΠ½ΠΎ ΠΏΡΠ΅ΠΊΡΠ°ΡΡΠ²Π°Π½Π΅ Π½Π° ΡΡΠ»ΡΠ³Π°ΡΠ° ΠΈ Π΄Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡ ΠΎΡΡΠ°ΡΡΡΠ½ΠΎΡΠΎ ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ°, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π° ΠΏΡΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° HTTP Π·Π°ΡΠ²ΠΊΠΈ, ΠΊΠΎΠ΅ΡΠΎ ΡΡΠ΄ΡΡΠΆΠ°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠΈ ΠΎΡ ΠΏΠΎΠ²Π΅ΡΠΈΡΠ΅Π»Π½ΠΈ Π΄Π°Π½Π½ΠΈ, ΠΊΠ°ΡΠΎ ΠΊΠ»ΡΡΠΎΠ²Π΅ Π·Π° Π΄ΠΎΡΡΡΠΏ. Π’ΡΠΉ ΠΊΠ°ΡΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡΡ Π²ΠΎΠ΄ΠΈ Π΄ΠΎ ΠΏΡΠ΅Π»ΠΈΠ²Π°Π½Π΅ Π½Π° Π±ΡΡΠ΅ΡΠ°, Π·Π°Π²ΠΈΡΠ΅ΡΠΎ ΠΎΡ ΠΏΡΠ΅Π΄Π°Π²Π°Π½ΠΈΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈ, ΡΠ΅ΠΎΡΠ΅ΡΠΈΡΠ½ΠΎ ΡΠΎΠΉ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ Π΅ΠΊΡΠΏΠ»ΠΎΠ°ΡΠΈΡΠ°Π½ Π·Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΡΠΎΠ±ΡΡΠ²Π΅Π½ ΠΊΠΎΠ΄ Π² ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ°, Π½ΠΎ ΠΈΠ·ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΠΈΡΠ΅, ΠΊΠΎΠΈΡΠΎ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΠ°Ρ
Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°, Π½Π΅ ΠΏΡΠΎΠ²Π΅ΡΠΈΡ
Π° ΡΠ°Π·ΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ ΠΏΠΎΡΠ°Π΄ΠΈ Π»ΠΈΠΏΡΠ° Π½Π° Π²ΡΠ΅ΠΌΠ΅ Π·Π° ΡΠ°Π±ΠΎΡΠ° ΠΏΠΎ Π΅ΠΊΡΠΏΠ»ΠΎΠ°ΡΠ°ΡΠΈΡΡΠ°.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
