LINUX.ORG.RU
ФорумTalks

Squid - решето

 


0

2

Dear fulldisclosure,

Two and a half years ago an independent audit was performed on The Squid Caching Proxy, which ultimately resulted in 55 vulnerabilities being discovered in the project’s C++ source code.

Although some of the issues have been fixed, the majority (35) remain valid. The majority have not been assigned CVEs, and no patches or workarounds are available. Some of the listed issues concern more than one bug, which is why 45 issues are listed, despite there being 55 vulnerabilities in total (10 extra of the result of similar, but different pathways to reproduce a vulnerability).

After two and a half years of waiting, I have decided to release the issues publicly. The Squid Project is aware of this release.

The issues are listed below. Due to the sheer size of issues discovered, technical details are not included in this email. However, breakdowns of the code and proof-of-concepts can be found on GitHub: https://megamansec.github.io/Squid-Security-Audit/


  • Stack Buffer Overflow in Digest Authentication
  • Use-After-Free in TRACE Requests
  • Partial Content Parsing Use-After-Free CVE-2021-31807
  • X-Forwarded-For Stack Overflow
  • Chunked Encoding Stack Overflow
  • Use-After-Free in Cache Manager Errors
  • Cache Poisoning by Large Stored Response Headers (With Bonus XSS)
  • Memory Leak in CacheManager URI Parsing CVE-2021-28652
  • RFC 2141 / 2169 (URN) Response Parsing Memory Leak CVE-2021-28651
  • Memory Leak in HTTP Response Parsing
  • Memory Leak in ESI Error Processing
  • 1-Byte Buffer OverRead in RFC 1123 date/time Handling
  • Null Pointer Dereference in Gopher Response Handling GHSA-cg5h-v6vc-w33f
  • One-Byte Buffer OverRead in HTTP Request Header Parsing strlen(NULL) Crash Using Digest Authentication
  • Assertion in ESI Header Handling
  • Integer Overflow in Range Header CVE-2021-31808
  • Gopher Assertion Crash
  • Whois Assertion Crash
  • Assertion in Gopher Response Handling
  • RFC 2141 / 2169 (URN) Assertion Crash
  • Vary: Other HTTP Response Assertion Crash CVE-2021-28662
  • Assertion in Negotiate/NTLM Authentication Using Pipeline - Prefetching
  • Assertion on IPv6 Host Requests with –disable-ipv6
  • Assertion Crash on Unexpected “HTTP/1.1 100 Continue” Response Header
  • Pipeline Prefetch Assertion With Double ‘Expect:100-continue’ Request Headers
  • Pipeline Prefetch Assertion With Invalid Headers
  • Assertion Crash in Deferred Requests
  • Assertion in Digest Authentication
  • FTP URI Assertion
  • FTP Authentication Crash
  • Unsatisfiable Range Requests Assertion CVE-2021-31806
  • Crash in Content-Range Response Header Logic CVE-2021-33620
  • Assertion Crash In HTTP Response Headers Handling
  • Implicit Assertion in Stream Handling
  • Buffer UnderRead in SSL CN Parsing
  • Use-After-Free in ESI ‘Try’ (and ‘Choose’) Processing
  • Use-After-Free in ESI Expression Evaluation
  • Buffer Underflow in ESI
  • Assertion in Squid “Helper” Process Creator
  • Assertion Due to 0 ESI ‘when’ Checking
  • Assertion Using ESI’s When Directive
  • Assertion in ESI Variable Assignment (String)
  • Assertion in ESI Variable Assignment
  • Null Pointer Dereference In ESI’s esi:include and esi:when

★★★★★

больше ибэшников б-гу ибэшников!

С 1 января 2025 года операторы связи и СМИ будут обязаны создать внутренние структурные подразделения, отвечающие за вопросы информационной безопасности (ИБ). Такие требования разработали в Минцифры, поясняют два источника. Нововведения частично дублируют положения указа № 250, который распространяется на субъекты КИИ.

Syncro ★★★★★
()
Ответ на: комментарий от greenman

что-бы было достаточно времени набрать, уволить и снова набрать, т.е. можно было заложить срочный план на создание штата в 300 человек и под этим предлогом пылесосить айтишников для экспорта

Syncro ★★★★★
()
Ответ на: комментарий от greenman

А что не с 1 января 2024?

А ты видел хоть одну нормально сертифицированную систему в структуре муниципалитета, или регионального департамента? Чтобы все требования проверяльщиков были выполнены, учтены. А не просто «подписаны» большим начальником.

Я не думаю, что там сильный дефицит нормальных специалистов. Но они вынуждены делать нормальную инфраструктуру из говна и палок.

i_am_not_ai
()

Squid assumes that the user-provided nonce-count (nc) is a legitimate value of exactly 8-digits long (i.e. 00000000-99999999). This assumption is made because RFC 7616 dictates that: “for historical reasons, the nc value MUST be exactly 8 hexadecimal digits.” As such, a 9-character long (the extra one-byte for the null pointer) char buffer is allocated on the stack:

char nc[9]; /* = «00000001» */ … xstrncpy(digest_request->nc, value.rawBuf(), value.size() + 1);

Классика жанра.

seiken ★★★★★
()
Ответ на: комментарий от seiken

С другой стороны, если там все обнаруженные баги такого масштаба, их пофиксить гораздо быстрее, чем переписать на расте. Даже если бы уязвимостей было 100 штук.

seiken ★★★★★
()
Ответ на: комментарий от Syncro

С 1 января 2025 года операторы связи и СМИ будут обязаны

Но ведь у нас любой сайт с посещаемостью более 3000 человек автоматически считается СМИ.

Это значит, что ЛОР тоже обязан создавать собственный отдел по защите информации? Как админы собираются это делать?

Xintrea ★★★★★
()
Ответ на: комментарий от seiken
char nc[9]; /* = «00000001» */ … xstrncpy(digest_request->nc, value.rawBuf(), value.size() + 1);

Объясните не си программисту что именно здесь плохо?

skyman ★★★
()
Ответ на: комментарий от skyman

Переполнение буфера, если value содержит больше восьми символов.

theNamelessOne ★★★★★
()
Ответ на: комментарий от Xintrea

Но ведь у нас любой сайт с посещаемостью более 3000 человек автоматически считается СМИ.

Это не так.

maxcom ★★★★★
()
Ответ на: комментарий от snizovtsev

труп

пгастите, а чем вы в линуксах mitm-те https траффик во внутренней сети, кешируете рекламу и реврайтите https???

Shadow ★★★★★
()
Ответ на: комментарий от Shadow

пгастите, а чем вы в линуксах mitm-те https траффик во внутренней сети, кешируете рекламу и реврайтите https???

nginx

cumvillain
()

Squid

Software

Squid is a caching and forwarding HTTP web proxy. It has a wide variety of uses, including speeding up a web server by caching repeated requests, caching World Wide Web, Domain Name System, and other computer network lookups for a group of people sharing network resources, and aiding security by filtering traffic.

Programming languages: C, C++

EXL ★★★★★
()
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)