How we improved translation experience with cost efficiency

Post Syndicated from Grab Tech original https://engineering.grab.com/improved-translation-experience-with-cost-efficiency

Introduction

As COVID restrictions were fully lifted in 2023, the number of tourists grew dramatically. People began to explore the world again, frequently using the Grab app to make bookings outside of their home country. However, we noticed that communication posed a challenge for some users. Despite our efforts to integrate an auto-translation feature in the booking chat, we received feedback about occasional missed or inaccurate translations. You can refer to this blog for a better understanding of Grab’s chat system.

An example of a bad translation. The correct translation is: ‘ok sir’.

In an effort to enhance the user experience for travellers using the Grab app, we formed an engineering squad to tackle this problem. The objectives are as follows:

  • Ensure translation is provided when it’s needed.
  • Improve the quality of translation.
  • Maintain the cost of this service within a reasonable range.

Ensure translation is provided when it’s needed

Originally, we relied on users’ device language settings to determine if translation is needed. For example, if both the passenger and driver’s language setting is set to English, translation is not needed. Interestingly, it turned out that the device language setting did not reliably indicate the language in which a user would send their messages. There were numerous cases where despite having their device language set to English, drivers sent messages in another language.

Therefore, we needed to detect the language of user messages on the fly to make sure we trigger translation when it’s needed.

Language detection

Simple as it may seem, language detection is not that straightforward a task. We were unable to find an open-source language detector library that covered all Southeast Asian languages. We looked for Golang libraries as our service was written in Golang. The closest we could find were the following:

  • Whatlang: unable to detect Malay
  • Lingua: unable to detect Burmese and Khmer

We decided to choose Lingua over Whatlang as the base detector due to the following factors:

  • Overall higher accuracy.
  • Capability to provide detection confidence level.
  • We have more users using Malay than those using Burmese or Khmer.

When a translation request comes in, our first step is to use Lingua for language detection. If the detection confidence level falls below a predefined threshold, we fall back to call the third-party translation service as it can detect all Southeast Asian languages.

You may ask, why don’t we simply use the third-party service in the first place. It’s because:

  • The third-party service only has a translate API that also does language detection, but it does not provide a standalone language detection API.
  • Using the translate API is costly, so we need to avoid calling it when it’s unnecessary. We will cover more on this in a later section.

Another challenge we’ve encountered is the difficulty of distinguishing between Malay and Indonesian languages due to their strong similarities and shared vocabulary. The identical text might convey different meanings in these two languages, which the third-party translation service struggles to accurately detect and translate.

Differentiating Malay and Indonesian is a tough problem in general. However, in our case, the detection has a very specific context, and we can make use of the context to enhance our detection accuracy.

Making use of translation context

All our translations are for the messages sent in the context of a booking or order, predominantly between passenger and driver. There are two simple facts that can aid in our language detection:

  • Booking/order happens in one single country.
  • Drivers are almost always local to that country.

So, for a booking that happens in an Indonesian city, if the driver’s message is detected as Malay, it’s highly likely that the message is actually in Bahasa Indonesia.

Improve quality of translation

Initially, we were entirely dependent on a third-party service for translating our chat messages. While overall powerful, the third-party service is not perfect, and it does generate weird translations from time to time.

An example of a weird translation from a third-party service recorded on 19 Dec 2023.

Then, it came to us that we might be able to build an in-house translation model that could translate chat messages better than the third-party service. The reasons being:

  • The scope of our chat content is highly specific. All the chats are related to bookings or orders. There would not be conversations about life or work in the chat. Maybe a small Machine Learning (ML) model would suffice to do the job.
  • The third-party service is a general translation service. It doesn’t know the context of our messages. We, however, know the whole context. Having the right context gives us a great edge on generating the right translation.

Training steps

To create our own translation model, we took the following steps:

  • Perform topic modelling on Grab chat conversations.
  • Worked with the localisation team to create a benchmark set of translations.
  • Measured existing translation solutions against benchmarks.
  • Used an open source Large Language Model (LLM) to produce synthetic training data.
  • Used synthetic data to train our lightweight translation model.

Topic modelling

In this step, our aim was to generate a dataset which is both representative of the chat messages sent by our users and diverse enough to capture all of the nuances of the conversations. To achieve this, we took a stratified sampling approach. This involved a random sample of past chat conversation messages stratified by various topics to ensure a comprehensive and balanced representation.

Developing a benchmark

For this step we engaged Grab’s localisation team to create a benchmark for translations. The intention behind this step wasn’t to create enough translation examples to fully train or even finetune a model, but rather, it was to act as a benchmark for translation quality, and also as a set of few-shot learning examples for when we generate our synthetic data.

This second point was critical! Although LLMs can generate good quality translations, LLMs are highly susceptible to their training examples. Thus, by using a set of handcrafted translation examples, we hoped to produce a set of examples that would teach the model the exact style, level of formality, and correct tone for the context in which we plan to deploy the final model.

Benchmarking

From a theoretical perspective there are two ways that one can measure the performance of a machine translation system. The first is through the computation of some sort of translation quality score such as a BLEU or CHRF++ score. The second method is via subjective evaluation. For example, you could give each translation a score from 1 to 5 or pit two translations against each other and ask someone to assess which they prefer.

Both methods have their relative strengths and weaknesses. The advantage of a subjective method is that it corresponds better with what we want, a high quality translation experience for our users. The disadvantage of this method is that it is quite laborious. The opposite is true for the computed translation quality scores, that is to say that they correspond less well to a human’s subjective experience of our translation quality, but that they are easier and faster to compute.

To overcome the inherent limitations of each method, we decided to do the following:

  1. Set a benchmark score for the translation quality of various translation services using a CHRF++ score.
  2. Train our model until its CHRF++ score is significantly better than the benchmark score.
  3. Perform a manual A/B test between the newly trained model and the existing translation service.

Synthetic data generation

To generate the training data needed to create our model, we had to rely on an open source LLM to generate the synthetic translation data. For this task, we spent considerable effort looking for a model which had both a large enough parameter count to ensure high quality outputs, but also a model which had the correct tokenizer to handle the diverse sets of languages which Grab’s customers speak. This is particularly important for languages which use non-standard character sets such as Vietnamese and Thai. We settled on using a public model from Hugging Face for this task.

We then used a subset of the previously mentioned benchmark translations to input as few-shot learning examples to our prompt. After many rounds of iteration, we were able to generate translations which were superior to the benchmark CHRF++ scores which we had attained in the previous section.

Model fine tuning

We now had one last step before we had something that was production ready! Although we had successfully engineered a prompt capable of generating high quality translations from the public Hugging Face model, there was no way we’d be able to deploy such a model. The model was far too big for us to deploy it in a cost efficient manner and within an acceptable latency. Our solution to this was to fine-tune a smaller bespoke model using the synthetic training data which was derived from the larger model.

These models were language specific (e.g. English to Indonesian) and built solely for the purpose of language translation. They are 99% smaller than the public model. With approximately 10 Million synthetic training examples, we were able to achieve performance which was 98% as effective as our larger model.

We deployed our model and ran several A/B tests with it. Our model performed pretty well overall, but we noticed a critical problem: sometimes, numbers got mutated in the translation. These numbers can be part of an address, phone number, price etc. Showing the wrong number in a translation can cause great confusion to the users. Unfortunately, an ML model’s output can never be fully controlled; therefore, we added an additional layer of programmatic check to mitigate this issue.

Post-translation quality check

Our goal is to ensure non-translatable content such as numbers, special symbols, and emojis in the original message doesn’t get mutated in the translation produced by our in-house model. We extract all the non-translatable content from the original message, count the occurrences of each, and then try to match the same in the translation. If it fails to match, we discard the in-house translation and fall back to using the third-party translation service.

Keep cost low

At Grab, we try to be as cost efficient as possible in all aspects. In the case of translation, we tried to minimise cost by avoiding unnecessary on-the-fly translations.

As you would have guessed, the first thing we did was to implement caching. A cache layer is placed before both the in-house translation model and the third-party translation. We try to serve translation from the cache first before hitting the underlying translation service. However, given that translation requests are in free text and can be quite dynamic, the impact of caching is limited. There’s more we need to do.

For context, in a booking chat, other than the users, Grab’s internal services can also send messages to the chat room. These messages are called system messages. For example,our food service always sends a message with information on the food order when an order is confirmed.

System messages are all fairly static in nature, however, we saw a very high amount of translation cost attributed to system messages. Taking a deeper look, we noticed the following:

  • Many system messages were not sent in the recipient’s language, thus requiring on-the-fly translation.
  • Many system messages, though having the same static structure, contain quite a few variants such as passenger’s name and food order item name. This makes it challenging to utilise our translation cache effectively as each message is different.

Since all system messages are manually prepared, we should be able to get them all manually translated into all the required languages, and avoid on-the-fly translations altogether.

Therefore, we launched an internal campaign, mandating all internal services that send system messages to chat rooms to get manual translations prepared, and pass in the translated contents. This alone helped us save roughly US$255K a year!

Next steps

At Grab, we firmly believe that our proprietary in-house translation models are not only more cost-effective but cater more accurately to our unique use cases compared to third-party services. We will focus on expanding these models to more languages and countries across our operating regions.

Additionally, we are exploring opportunities to apply learnings of our chat translations to other Grab content. This strategy aims to guarantee a seamless language experience for our rapidly expanding user base, especially travellers. We are enthusiastically looking forward to the opportunities this journey brings!

Join us

Grab is the leading superapp platform in Southeast Asia, providing everyday services that matter to consumers. More than just a ride-hailing and food delivery app, Grab offers a wide range of on-demand services in the region, including mobility, food, package and grocery delivery services, mobile payments, and financial services across 428 cities in eight countries.

Powered by technology and driven by heart, our mission is to drive Southeast Asia forward by creating economic empowerment for everyone. If this mission speaks to you, join our team today!

Еретични мисли за професионалния спорт, олимпиадата и какво ни показа Юсуф Дикеч

Post Syndicated from VassilKendov original https://kendov.com/%D0%B5%D1%80%D0%B5%D1%82%D0%B8%D1%87%D0%BD%D0%B8-%D0%BC%D0%B8%D1%81%D0%BB%D0%B8-%D0%B7%D0%B0-%D0%BF%D1%80%D0%BE%D1%84%D0%B5%D1%81%D0%B8%D0%BE%D0%BD%D0%B0%D0%BB%D0%BD%D0%B8%D1%8F-%D1%81%D0%BF%D0%BE/

Еретични мисли за професионалния спорт, олимпиадата и какво ни показа Юсуф Дикеч

От доста време се каня да изложа еретичните си мисли за професионалния спорт, който гледаме и ползите от него за спортуващите и обществото. Предпоагам, че повечето хора няма да се съгласят, но то не е и нужно. Други пък изобщо няма да разберат, че говоря предимно за професионалния спорт, а не за масовия, но и това е нормално. Така или наче ще има хора, които ще успеят да хванат тезата, че към днешна дата ПРОФЕСИОНАЛНИЯТ СПОРТ носи позитиви само на спортиста и на организаторите на професионалните спортни събития.

Предполагам повечето от вас са чували за феномена на златната треска. Най-много пари от нея са заработили не залтотърсачите, а хората продаващи кирки и лопати, както и не безизвестния Леви Щраус, който прави дънките световно известно облекло, въпреки че основното им качество е зравината, заради което с апредпочитани от златотърсачите като работно облекло.

Така се получава и с професионалния спорт. На принципа на пирамидата – единици стават шампиони и успяват да осребрят усилията си, а милионите други остават с контузии, загубено време за трупане на други знания, утехата че са сформирали характер, който да им помага в живота като сладкари (примерно) или радостта, че са обиколили 10-тина държави по състезания и турнири.

Не така стои въпросът с всикчи останали, печелещи от техните щастието или нещастието на професионалните спортисти. Те наистина печелят. Ето някои сфери които наистина правят пари:

Собственици на спортни съоражения.

Без съмнение всеки спортист има нужда от спецални условия за да постигне „високо спортно майсторство“. Който се е занимавал със спорт знае, че лагерите и турнирите са неизбежна част от подготовката. Те обаче не са безплатни и отнемат доста време за пътувания. Моите наблюдения са, че последните години спортните клубове до които съм се докосвал, все по-често организират такива школи и турнири. Понякога за тях плащат спонсори, но това е много рядко. Повечето пъти кандидат професионалните състезатели плащат сами. Дори хореографските групи и групите по йога започнаха да правят лагер школи. Не ме разбирайте погрешно, но това са пари, които отиват при собствениците на съоръженията и огранизаторите, което също не е нещо ненормално, но за целта на анализа трябва да бъде отчетено. Все пак говорим за пари и ползи от професионалния спорт.
Преди време се бях зачел за кариерата на Григор Димитров и по-скоро за финансирането на подготовката му. Само да знаете, че човекът и семейството му бяха потънали в дългове до момента, в който не става Топ 3 в световната ранглиста. Това се случва през 2017. А можеше и да не се случи, както при много други.
За да стигне до това 3-то място, той посещава редица тенис академии и лагери, които определено не са безплатни. Преставяте ли си колко може да струва шведската академия „Good to Great“, която посещава през 2012-та. А треньори като Петер Лундгрен, Питър Макнамара и самият Патрик Муратоглу дали им е плащал една минимална работна заплата? Сино се съмнявам.

С две думи за да постигнеш върхови спортни успехи в днешно време, трябва да инвестираш страшно много пари. Преди 40 години не беше точно така и дори имаше изискване на олимпиадите да не участват професионални състезатели. В днешно време с масовизирането на спорта, медиите и пътуванията, парите за подготовка са неразделна част от бизнеса.

Телевизионни права

Професионалният спорт не би се развил толкова без медиите. Ако нямаше телевизии, зрителите не биха били толкова облъчвани. Знаете какво е, когато се предва футболен финал от някой турнир. Освен, че се бяга от работа за такова нещо, всички заведения слагат големи телевизори, та барем някоя агитка дойде да гледа мача при тях и остави някой лев.
Не казвам, че е лошо в никакъв случай, но дали сме наясно, че някъде в Б футболна група някой младеж се надява да стане звезда като Роналдо и влага цалото си време и енергия в това начинане при положение, че статистически това е много малко вероятно да се случи. Но пък финансовия и времеви ресурс са инвестирани и някой е спечелил от това.
Така или иначе телевизионните права са един от най-сигурните приходи на организаторите на спортни събития. За Олимпиадата в Париж, телевизионните права се очаква да донесат 3.3 млрд. долара на организаторите. Добре е нали? На фона на разходи от 10 млр. долара, 33% да са от ТВ права не е зле. Вижте как са се движили през годините приходите от ТВ права.

Атина 2004 – 1,5 млрд. долара
Пекин 2008 – 1,7 млрд. долара
Лондон 2012 – 2,6 млрд. долара
Рио 2016 – 2,9 млрд. долара
Токио 2020 – 3,1 млрд. долара

Имайте предвид, че са продадени над 8 млн. билета с очаквани приходи от едва 1.4 млр. долара. Тоест едва 14% от приходите се очаква да бъдат от зрители на място (и то ако няма печалба за организаторите). С други думи приходите от ТВ права са с около 140% по-високи от приходите от посетители на място.

продължава след бланката за среща
Моля използвайте приложената форма за записване на час за среща
[contact-form-7]

Мисля, че няма смисъл да давам повече примери кой и как печели от спорта. Със сигурност най-малкия % печалба е за състезателите, а рискът да не успеят да пробият,  клони към 100%. Разходите им за подготовка обаче са константа и то никак не малка, на фона на личните финанси и бюджети.

Юсуф Дикеч – новият символ на „олимпийския дух“

Харизматичен е Юсуф Дикеч – не може да се отрече. Скромен, без излишни емоции, с ясна полова ориентация… Качества които не са много толерирани или насърчавани от МОК. Поне съдейки по откриването на олимпиадата и всички скандали около нея. Но пък тези качества се харесват на хората.

Тук обаче има една подробност – тези качества се харесват, защото Юсуф стана шампион! Лицемерието в западното бщество е толкова голямо, че ако не беше се класирал на второ място, всички биха неглижирали тези му качества. Нека не забравяме, че в реалния живот той работи в сервиз – професия която не е най-уважаваната. С други думи „с тези качества – толкова“. Ако те не му бяха донесли второ място на олимпиада, никой никога не би им обърнал внимание, защото обществото не им обръща внимание и не ги цени. Цени ги само ако донесат някакви позитиви. Можду другото през 2016 на Олимпиадата в Рио, на същата дисциплина шампион става виетнамецът Hoang Xuan Vinh (не знам как се пише това на български). Същите качества, липса на допълнително оборудване, нооо никакво отразяване по медии и социални мрежи. Ето линк ако не вярвате – https://www.youtube.com/watch?v=d-Fv682oMZg


Мислих да опиша опиша съдбите и живота на няколко олимпийски шампиони, които познавам лично, след спиране на активната им спортна дейност, както и да ги сравня с живота на спртнит еминистри по което време са станали шампиони, но ще стане прекалено дълго. Мисля, че всички се сещате какви биха били изводите и разликите.

Не мога обаче да се сдържа и да спомена Гълъбин Боевски. Освен че лежа в затвор в Бразилия за трафик на наркотици, в момента пак е на топло по същата причина, само че в Португалия. Синът му пък беше задържат за разпространение на наркотици.
По-горе уточнихме колко се инвестира в един шампион и къде отива печалбата от него. Надали би се занимавал с разпространение на наркотици, ако можеше да печели достъчно от вдигане на щанги, след прекратяване на активна спортна дейност. Но как да печелиш от друго, като по времето когато е трябвало да формираш други умения, ти си бил по лагери и състезания?
Верно е, че други олимпийски шампиони се справят доста по-добре, но винаги в сферата на спорта, създавайки надежди в ново поколение, което пък инвестира в професионалния спорт. Тоест стават част от същата система, генерираща все повече приходи за школи, организатори на състезания, телевизии…

Без значение дали го разбираме или не, за всичко това е виновно финансирането. Ако в това общество се правят пари от професионален спорт, то медии, школи, комитети, клубове, стадиони и подготвителни центрове… десетки посредници по веригата ще правят пари от него.
От масовия спорт пари не се правят. Там хората спортуват за здраве, а това не изисква много разходи. Чувал ли е някой за победителя в ученическите първенства на джудо в Швейцария? Няма и да чуем. Ще чуем само ако е нещо „по-нестандартно“, да не кажа извратено. Примерно както в САЩ, ученическите първенства по борба бяха спечелени от момче, определило се като момиче или как във Финландия се е провело първенство по Hobby Horse Competition https://www.youtube.com/watch?v=RGnpWXtI3Q0

Като финал мога да кажа само – спортувайте за здраве! Професионалния спорт е по-скоро бизнес, а не здраве. Бизнес в който Вие сте продукта, в който търговеца обира печалбата от Вас!

Васил Кендов
Специалист по лични финанси
Планирайте за да не страдате

Моля използвайте приложената форма за записване на час за среща
[contact-form-7]

 

The post Еретични мисли за професионалния спорт, олимпиадата и какво ни показа Юсуф Дикеч appeared first on Kendov.com.

Седмицата (29 юли – 3 август)

Post Syndicated from Боряна Телбис original https://www.toest.bg/sedmitsata-29-yuli-3-avgust/

Седмицата (29 юли – 3 август)

„Тоест“ излиза в традиционната си августовска ваканция с един чудесен и вълнуващ брой. (Почти толкова вълнуващ, колкото Олимпиадата в Париж и всички съпътстващи я скандали, мистерии и активни мероприятия.) 

Започнахме седмицата с текста на Светла Енчева за трошенето на бариери отвъд океана и по-специално за една – тавана от най-дебело стъкло, този, чието пробиване води в Белия дом. Изглежда, Камала Харис се е устремила тъкмо към неговото разбиване. Ще стане ли Харис първата цветнокожа жена президент на Щатите? Предстои интересно политическо лято и напрегната есен и в САЩ.

За събитията от последния месец, довели до влизането (все още неофициално) на Харис в надпреварата за президент на САЩ, разказва Йоанна Елми в статията си „Пътеводител за летния политически хаос в САЩ“. „Лош месец за американската демокрация, но добър месец в историята на меметата – така обобщиха този юли потребителите в социалните мрежи в САЩ“, пише Йоанна, и да, поне на мемета се нагледахме. Ако имате нужда все пак и от някаква яснота за контекста, в който се раждат те – материалът на Йоанна Елми може да ви е много полезен.

Полезен за желаещите да вникнат в някои важни геополитически процеси безспорно е и текстът на Искрен Иванов, в който той анализира дружбата между Китай и Русия. С „Приятелство без граници. Как Китай очарова Русия?“ Искрен завършва кратката, но изключително съдържателна поредица за отношенията на далекоизточната страна с другите големи геополитически играчи – ЕС, САЩ и Русия. Ако сте пропуснали предишните две статии, може да ги прочетете тук и тук

Не е за изпускане и цялата поредица на Николета Атанасова „Пет отровни дела“. Тази седмица излиза последната част, в която Николета ни запознава със съдбата на Андрей Карпов, поредния руснак, избягал от режима на Путин и попаднал в кошмарната система на ДАБ, чиито административни „лабиринти“ напомнят на готическа цитадела, предвидена за мъчения и унижения.

Като стана дума за мъчения и унижения, някак плавно преместваме вниманието си към политическия анализ на Емилия Милчева. Да се чуди човек защо българската политическа действителност навява подобни асоциации… 

В статията на Емилия става дума за Делян Пеевски в ролята на разобличител, готов да демаскира цялата политическа класа, защото, както знаем, компромати (ще) има за всички от сърце. Най-големият проблем обаче е, че ако Делян Пеевски ще руши порочния модел, от който сам е част, казвайки „истината, цялата истина или поне 30% от нея“ (по Румен Белчев), едва ли ще го добутаме до по-светли времена. 

От друга страна пък, има къде-къде по-важни работи, в които можем да се вглъбим, за да си обзаведем спокойно паралелна реалност, където всички разбираме от спорт, изкуство, генетика и каквото друго падне от световния кликбейт обмен.

Но понеже ние сме малко скарани с кликбейт аранжимента, продължаваме с бързия седмичен обзор на текстовете в „Тоест“, който ни кара да си купим билет за Тайланд, да се качим на самолета и да не се върнем никога повече. И ако нашият авантюризъм ще катастрофира безславно до 10–15 минути, то вашият може да се окаже от много по-устойчив вид и току-виж наистина ви завел в Тайланд или където другаде искате. 

Преди това прочетете какво разказва тъкмо за тази страна в Югоизточна Азия Емине Садкъ. Във втората част на „Тайланд под кожата“ става въпрос за непоносимата жега, за 36-те тоналности на тайския език, за местната фауна, която няма нищо общо с илюстрованите книжки, и за един забележителен турнир по тенис на маса. Задължително започнете обаче с първата част, защото Емине описва тази уж все по-позната туристическа дестинация така, че ние от обикновени читатели се превръщаме в синестети, които вкусват цветове и миришат думи.

Оставаме в източното полукълбо и с рубриката „На второ четене“, в която тази седмица имаме текст от Стефан Иванов. Той препоръчва книгата „Изтокът“ на поляка Анджей Сташук. За него Стефан казва:

… писането му е освобождаващо, в него няма перверзна и популистка носталгия, суетна тъга или снизходителност.
Налице са единствено желание да се преброди географията с широко отворени очи и с пуснати шлюзове, за да може паметта да потече и да напои градината или гората, каквато тази книга всъщност е. Гора на паметта, в която източните страни са влюбени в националните си катастрофи, а не в свободата или справедливостта, и градина на днешната несигурност, в която границите са паднали, но цъфти буренът на национализма.

Такъв беше „Тоест“ тази седмица. Желаем ви спокойно лято без напънато щастие за социалните медии и без клишета за следобеди на годината, но с достатъчно моменти, в които не знаете къде ви е телефонът, защото всичко, което ви трябва, е точно до вас. Нека не забравяме все пак, че човек може да е нещастен и през август, но е по-малко вероятно.

Благодарим ви, че сме заедно! Продължаваме да разчитаме на вашата безценна финансова подкрепа, за да създаваме съдържанието, заради което сте наши читатели.

До нови срещи наесен.

Metasploit Weekly Wrap-Up 08/02/2024

Post Syndicated from Zachary Goldman original https://blog.rapid7.com/2024/08/02/metasploit-weekly-wrap-up-08-02-2024/

Metasploit goes to Hacker Summer Camp

Metasploit Weekly Wrap-Up 08/02/2024

Next week, Metasploit will have demos at both Black Hat and DEF CON where the latest functionality from this year will be presented. The Black Hat demo will be on Thursday the 8th from 10:10 to 11:25 and the DEF CON demo will be on Saturday the 10th from 12:00 to 13:45.

The highlights will include demonstrations of:

New module content (2)

OpenMediaVault rpc.php Authenticated Cron Remote Code Execution

Authors: Brandon Perry [email protected] and h00die-gr3y [email protected]
Type: Exploit
Pull request: #19298 contributed by h00die-gr3y
Path: unix/webapp/openmediavault_auth_cron_rce
AttackerKB reference: CVE-2013-3632

Description: This adds a new module that leverages a vulnerability in OpenMediaVault versions starting from 1.0 until the recent release 7.4.2-2. This vulnerability (CVE-2013-3632) allows an authenticated user to create cron jobs as root on the system and achieve remote code execution.

mySCADA MyPRO Authenticated Command Injection (CVE-2023-28384)

Author: Michael Heinzl
Type: Exploit
Pull request: #19337 contributed by h4x-x0r
Path: windows/scada/mypro_cmdexe
AttackerKB reference: CVE-2023-28384

Description: This adds an exploit module for CVE-2023-28384, a command injection vulnerability in MySCADA MyPRO versions before and including 2.28 allowing the execution of arbitrary commands as NT AUTHORITY\SYSTEM.

Enhanced Modules (2)

Modules which have either been enhanced, or renamed:

  • #19331 from Takahiro-Yoko – This update the linux/http/empire_skywalker exploit module to add a new technique that leverages a path traversal vulnerability in BC Security Empire versions before 5.9.3 (CVE-2024-6127). An attacker can achieve unauthenticated remote code execution over HTTP by acting as a normal agent. It is still possible to use this module with older versions from ProjectEmpire/Empire by setting a specific datastore option.
  • #19344 from jheysel-r7 – This updates the windows/http/forticlient_ems_fctid_sqli exploit module to gain code execution on FortiClient EMS FCTID for the affected version within the range 7.2.x.

Documentation

You can find the latest Metasploit documentation on our docsite at docs.metasploit.com.

Get it

As always, you can update to the latest Metasploit Framework with msfupdate
and you can get more details on the changes since the last blog post from
GitHub:

If you are a git user, you can clone the Metasploit Framework repo (master branch) for the latest.
To install fresh without using git, you can use the open-source-only Nightly Installers or the
commercial edition Metasploit Pro

Metasploit Weekly Wrap-Up 08/02/2024